|
在編程時(shí),由于Microsoft Word的編輯功能非常強(qiáng)大,所以我們經(jīng)常希望將一些數(shù)據(jù)保存為WORD文檔,以便我們專業(yè)編輯。 在保存為Word文檔時(shí),我們可以通過(guò)OLE,但經(jīng)常遇到把真正的Word編輯界面調(diào)入到了程序中,以使得程序界面混亂。還有,普通的調(diào)用Word的方法都必須指定Word可執(zhí)行文件的絕對(duì)地址,由于很多用戶安裝Word的路徑都不一致,故,我們經(jīng)常遇到調(diào)用錯(cuò)誤的問(wèn)題,能不能有一種方法調(diào)用Word不將它顯示出來(lái),與版本、安裝路徑無(wú)關(guān)呢?答案是肯定的。 下面,我就來(lái)做一個(gè)小程序給大家演示一下,只起到一個(gè)拋磚引玉的作用。僅供朋友們參考。 首先,我們建立一個(gè)Access2000數(shù)據(jù)庫(kù)data.mdb,在庫(kù)中我們建立一個(gè)表userdata,里面有“工號(hào)”、“姓名”、“性別”、“部門(mén)”四個(gè)字段,都是字符型的,再輸入一些數(shù)據(jù),我們?cè)俳⒁粋(gè)窗體Form1,在Form1中,放置以下控件: 控件名稱 屬性 值 說(shuō)明 Tlabel1 Caption "請(qǐng)輸入文件名" TEdit1 Name "" 用來(lái)輸入文件名,帶擴(kuò)展名的 TButton1 Caption "保存" TButton2 Caption "退出" ADOTable1 Active
ConnectionString
TableName True Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb;Persist Security Info=False userdata
下面是相關(guān)代碼: file://---------------------------------------------------------------------------
#include <vcl.h> #pragma hdrstop
#include "Unit1.h" --------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; --------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } ---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender) { Variant OLEObject; AnsiString dataword; if(Trim(Edit1->Text)=="") { ShowMessage("請(qǐng)輸入文件名"); return; } String currentPath=GetCurrentDir()+"//"+Trim(Edit1->Text); OLEObject=CreateOleObject("Word.Basic"); OLEObject.Exec(Procedure("FileNew")); OLEObject.Exec(Procedure("EndOfDocument")); ADOTable1->First(); while(ADOTable1->Eof!=True) { dataword=ADOTable1->FieldValues["工號(hào)"]+ADOTable1->FieldValues["姓名"]+ADOTable1->FieldValues["性別"]+ADOTable1->FieldValues["部門(mén)"]; OLEObject.Exec(Procedure("Insert")<<dataword); ADOTable1->Next(); } OLEObject.Exec(Procedure("StartOfDocument")); OLEObject.Exec(Procedure("FileSaveAs")<<currentPath); OLEObject.Exec(Procedure("FileClose")<<1); ShowMessage("文件已經(jīng)寫(xiě)入!謝謝使用!"); } ---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender) { this->Close(); } --------------------------------------------------------------------------- void __fastcall TForm1::Edit1Click(TObject *Sender) { Edit1->Text=""; }
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!