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,037

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#)
// MSWordConsole.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "MSWordConsole.h"
#include "Capplication.h"
#include "CDocument0.h"
#include "CDocuments.h"
#include "CSelection.h"
#include "CFind.h"
#include "CWords.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// The one and only application object

CWinApp theApp;

using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
        int nRetCode = 0;
        COleVariant m_True((short)TRUE), m_False((short)FALSE),
			m_Long((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
        // initialize MFC and print and error on failure
        if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
        {
                // TODO: change error code to suit your needs
                _tprintf(_T("Fatal Error: MFC initialization failed\n"));
                nRetCode = 1;
        }
        else
        {
                CApplication oWordApp;
                CoInitialize(0);
				if (!oWordApp.CreateDispatch ("Word.Application", NULL))
                {
                        AfxMessageBox("CreateDispatch failed.", MB_OK | MB_SETFOREGROUND);
                }

                //CDocuments myDocs(oWordApp.get_Documents ());
                //CDocument0 myDoc;
                //myDoc.AttachDispatch(myDocs.Open(COleVariant("C:\\Users\\kittiphan\\Desktop\\Sipa\\Report_Project_form.dot"),
                //        m_False,m_False,m_False,m_Long,m_Long,m_False,
                //        m_Long,m_Long,m_Long,m_Long,m_Long,m_Long,m_Long,m_Long ,m_Long ));

				//Create a new document
				CDocuments oDocs;
				CDocument0 oDoc;
				oDocs = oWordApp.get_Documents();
				oDoc = oDocs.Add(m_Long, m_Long, m_Long, m_Long);  
				//Note for Word 2000: The Add method has 4 arguments in Word 2000.  If 
				//you wrapped the classes from the Word type library (msword9.olb),
				//modify the Add method to provide 4 optional arguments:
				//    oDoc = oDocs.Add(vOpt, vOpt, vOpt, vOpt);  

				//Add text to the document
				CSelection oSel;
				oSel = oWordApp.get_Selection();
				oSel.TypeText("one");
				oSel.TypeParagraph();
				oSel.TypeText("two");
				oSel.TypeParagraph();
				oSel.TypeText("three");

				//Find text to the document
				CFind oFind;
				oFind = oWordApp.get_Selection();
				int intFound = 0;
				//while (oFind.get_Found()){
					intFound++;
					oFind.Execute(COleVariant("one"), m_False, m_True, m_False,
								m_False, m_False, m_True, COleVariant((short)1), m_False, 
								COleVariant("aaaa"), COleVariant((short)2), 
								m_False, m_False, m_False, m_False);
				//}

				//THE LOCATION WHERE THE FILE NEEDS TO BE SAVED
				CDocument0 oActiveDoc;
				oActiveDoc = oWordApp.get_ActiveDocument();
				oActiveDoc.SaveAs(COleVariant("c:\\SampleDoc.doc"), 
									COleVariant((short)0),
									m_False, COleVariant(""), m_True, COleVariant(""),
									m_False, m_False, m_False, m_False, m_False, 
									m_False, m_False, m_False, m_False, m_False);

				oWordApp.Quit(m_Long,m_Long,m_Long);
        }

        return nRetCode;
}







Tag : VS 2010 (.NET 4.x)


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

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 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 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่