Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > กระทู้สำหรับภาษาต่าง ๆ > สอบถามปัญหา การทำ word automation ของ c++ ใครรู้ช่วยตอบหนูที ช่วยด้วย ได้โปรด



สอบถามปัญหา การทำ word automation ของ c++ ใครรู้ช่วยตอบหนูที ช่วยด้วย ได้โปรด

 
Topic : 070209



โพสกระทู้ ( 6 )
บทความ ( 0 )



สถานะออฟไลน์



คือเขียน ภาษา c++ อ่ะค่ะ ใช้ VC 2010 ถ้าใครมีความสามารถ คิด เรื่อง word automation ได้ช่วยตอบด้วยนะคะ

จะทำ replace word หรือ book mark อย่างใดอย่างหนึ่งค่ะ ตอนนี้ที่ทำได้คือ
-ได้ลองสร้างโปรแกรมมา มันสามารถ เขียน และสามารถบันทึกลงไปได้ โดยใช้ หลักการของ MSDN ของ Microsoft แบบ Word Automation และใช้ Lib ของ MSword.OLB และปัญหาที่เกิด มันไม่สามารถทำงานในส่วนของ Find And Replace ได้ โดยได้นำ code ที่เขียนขึ้นมาสอบถามตามนี้ค่ะ ใครรู้ช่วยบอกทีค่ะ
Code (C#)
01.// MSWordConsole.cpp : Defines the entry point for the console application.
02.//
03. 
04.#include "stdafx.h"
05.#include "MSWordConsole.h"
06.#include "Capplication.h"
07.#include "CDocument0.h"
08.#include "CDocuments.h"
09.#include "CSelection.h"
10.#include "CFind.h"
11.#include "CWords.h"
12.#ifdef _DEBUG
13.#define new DEBUG_NEW
14.#endif
15. 
16.// The one and only application object
17. 
18.CWinApp theApp;
19. 
20.using namespace std;
21. 
22.int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
23.{
24.        int nRetCode = 0;
25.        COleVariant m_True((short)TRUE), m_False((short)FALSE),
26.            m_Long((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
27.        // initialize MFC and print and error on failure
28.        if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
29.        {
30.                // TODO: change error code to suit your needs
31.                _tprintf(_T("Fatal Error: MFC initialization failed\n"));
32.                nRetCode = 1;
33.        }
34.        else
35.        {
36.                CApplication oWordApp;
37.                CoInitialize(0);
38.                if (!oWordApp.CreateDispatch ("Word.Application", NULL))
39.                {
40.                        AfxMessageBox("CreateDispatch failed.", MB_OK | MB_SETFOREGROUND);
41.                }
42. 
43.                //CDocuments myDocs(oWordApp.get_Documents ());
44.                //CDocument0 myDoc;
45.                //myDoc.AttachDispatch(myDocs.Open(COleVariant("C:\\Users\\kittiphan\\Desktop\\Sipa\\Report_Project_form.dot"),
46.                //        m_False,m_False,m_False,m_Long,m_Long,m_False,
47.                //        m_Long,m_Long,m_Long,m_Long,m_Long,m_Long,m_Long,m_Long ,m_Long ));
48. 
49.                //Create a new document
50.                CDocuments oDocs;
51.                CDocument0 oDoc;
52.                oDocs = oWordApp.get_Documents();
53.                oDoc = oDocs.Add(m_Long, m_Long, m_Long, m_Long); 
54.                //Note for Word 2000: The Add method has 4 arguments in Word 2000.  If
55.                //you wrapped the classes from the Word type library (msword9.olb),
56.                //modify the Add method to provide 4 optional arguments:
57.                //    oDoc = oDocs.Add(vOpt, vOpt, vOpt, vOpt); 
58. 
59.                //Add text to the document
60.                CSelection oSel;
61.                oSel = oWordApp.get_Selection();
62.                oSel.TypeText("one");
63.                oSel.TypeParagraph();
64.                oSel.TypeText("two");
65.                oSel.TypeParagraph();
66.                oSel.TypeText("three");
67. 
68.                //Find text to the document
69.                CFind oFind;
70.                oFind = oWordApp.get_Selection();
71.                int intFound = 0;
72.                //while (oFind.get_Found()){
73.                    intFound++;
74.                    oFind.Execute(COleVariant("one"), m_False, m_True, m_False,
75.                                m_False, m_False, m_True, COleVariant((short)1), m_False,
76.                                COleVariant("aaaa"), COleVariant((short)2),
77.                                m_False, m_False, m_False, m_False);
78.                //}
79. 
80.                //THE LOCATION WHERE THE FILE NEEDS TO BE SAVED
81.                CDocument0 oActiveDoc;
82.                oActiveDoc = oWordApp.get_ActiveDocument();
83.                oActiveDoc.SaveAs(COleVariant("c:\\SampleDoc.doc"),
84.                                    COleVariant((short)0),
85.                                    m_False, COleVariant(""), m_True, COleVariant(""),
86.                                    m_False, m_False, m_False, m_False, m_False,
87.                                    m_False, m_False, m_False, m_False, m_False);
88. 
89.                oWordApp.Quit(m_Long,m_Long,m_Long);
90.        }
91. 
92.        return nRetCode;
93.}




Tag : VS 2010 (.NET 4.x)


Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-12-12 11:01:35 By : roboto View : 1131 Reply : 1
 

 

No. 1



โพสกระทู้ ( 74,059 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Quote:
if (!oWordApp.CreateDispatch ("Word.Application", NULL))


Create ผ่านหรือเปล่าครับ สำหรับการใช้ DCOM น่าจะคล้าย ๆ กันครับ ลองดูตัวอย่าง C# ครับ



Go to : C# .NET Create Word Document (Windows 7 and Office 2003 , Office Word 2007)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-12 12:53:56 By : webmaster
 


   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามปัญหา การทำ word automation ของ c++ ใครรู้ช่วยตอบหนูที ช่วยด้วย ได้โปรด
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่