全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2266
推到 Plurk!
推到 Facebook!

利用 Delphi做 Word 套印結果為亂碼

答題得分者是:dllee
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-11-15 20:57:27 IP:59.124.xxx.xxx 未訂閱
大家好:

小弟利用 Delphi 5 做 MS Word 套印
在自己 Notebook 上結果是 OK 的
Copy 到別台機器上套印結果只要中文的部份卻為亂碼
請教一下大家, 小弟可以做如何的處理?

流程為利用 ADO 執行一 Stored Procedure 將結果填入一文字檔
再將這文字檔套印至 MS Word
小弟檢查過文字檔的內容不是亂碼, 但套印至 MS Word 卻為亂碼
主要程式碼如下:

FDataSourceFile: string;
FDocFile: string;
FWordApplication: Variant;
FWordDocument: Variant;
FWordMailMerge: Variant;

FWordDocument := FWordApplication.Documents.Open(FDocFile);
FWordDocument.Select;
FWordMailMerge := FWordDocument.MailMerge;
FWordMailMerge.OpenDataSource(Name:=FDataSourceFile);
FWordMailMerge.Destination := Word2000.wdSendToNewDocument;
FWordMailMerge.Execute(False);
FWordDocument.Saved := True;
FWordDocument.Close(False);
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-11-15 21:10:42 IP:59.105.xxx.xxx 訂閱
我沒作過不清楚,不過,是否你的系統是 2000/XP 安裝的系統是 Vista?
是否有預設字碼的問題?把字轉成 UniCode 再套印看看。


VMASK - ViewMove Automation Software KernelVMIO-Server/SECS/GEMdllee's blogdllee's StatPlus
------
http://www.ViewMove.com
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-11-16 10:23:08 IP:59.124.xxx.xxx 未訂閱
謝謝 dllee 大大!

電腦的 OS 都是 windows 2000
MS Word 則是 office 2000 SP3

昨天找到 http://delphi.ktop.com.tw/board.php?cid=30&fid=69&tid=25644 這篇
可是沒成功

然後改成直接讀 UAT SQL Server table 的結果還是亂碼
因為 UAT SQL Server 資料庫預設的 COLLATE 為 SQL_Latin1_General_CP850_BIN
之前就遇過無法定序的問題
也就是欄位型態設為 nvarchar, COLLATE 設為 SQL_Latin1_General_CP850_BIN, table 資料可正常顯示
若欄位型態設為 varchar, COLLATE 設為 Chinese_Taiwan_Stroke_BIN, table 資料亦可正常顯示
但在 Word 套印時就印不出來, 連亂碼也沒有...

今天努力把它改成將 SQL Server 的 data 填到 access mdb 內就沒問題

看了 G01 大大的感言和連結的文章, 自己還真汗顏...
編輯記錄
hagar 重新編輯於 2007-11-16 10:24:06, 註解 無‧
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-11-16 11:20:04 IP:220.134.xxx.xxx 訂閱
拍謝啦.... 我本來就不會 Delphi, Word 更是少用(用 OOo),資料庫又是我最肉的一環   

是呀,昨晚看到 G01[分享] 不過就是人性,一個感恩的心 !! 你引以為恥嗎?
內的分享資料,也是花了很久的時間在思考...

可惜,現在才想賣雞排已經來不及了... 可能除了寫程式、除錯外,也要想想還有什麼可以賣的



VMASK - ViewMove Automation Software KernelVMIO-Server/SECS/GEMdllee's blogdllee's StatPlus
------
http://www.ViewMove.com
系統時間:2024-04-29 5:46:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!