国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 技術開發 > 正文

PB編程使用Word的一種方法

2023-06-15 12:15:00
字體:
來源:轉載
供稿:網友

本文介紹了在PowerBuilder(PB)中通過OleObject來訪問Word的一種方法。

1、引言

在編程的時候,常常需要訪問Word文檔。除了使用DDE之外,PowerBuilder還有一種操作Word的方式,就是通過OLEObjcet和OLEControl。

OLEObject是不可視的OLE對象,而OLEControl則是可視的窗口控件。由于OLEObject較后者更靈活方便,如果不是必須在窗口上顯示Word文檔內容,使用前者是更好的選擇。

程序開發員在使用OLE連接Word文檔的時候,常常遇到這樣兩個問題:

第一:如果某文檔已經打開,再使用程序調用的時候,會產生程序運行錯誤;

第二:經常發現創建的WinWord.exe進程沒有能夠正常終止。

2、 分析

下面我們來分析這兩個錯誤產生的原因。

對于第一個錯誤,往往是由于使用OLEObjectVar.ConnectToObject(“<FileName>”)的時候,<FileName>這個文件已經打開了。此時使用ConnectToObject會造成錯誤。

對于第二個錯誤,一般是使用 OLEObjectVar.ConnectToNewObject (“Word. Application”) 創建了新的Winword.exe進程,但是沒有執行關閉這個新的應用的操作。

3、解決

經過分析,我們可以確定了如何解決PB調用Word的程序的問題。

(1)打開文檔

首先,我們使用<OLEObjectVar>.ConnectToObject(“<WordFileName>”)來打開一個空Word文檔。打開成功后,使用<OLEObjectVar>.Application獲得對Word.Application的引用并設置Applicatin.Visible=TRUE,并關閉剛才打開的空文檔;

然后,使用Word.Application的Open方法打開要使用的文檔。

這樣的方法打開文檔,如果當前有正在運行的Windows.exe進程,就不必打開新的進程,而是使用當前的進程,并且可以成功地對當前的進程獲得引用。

(2)關閉文檔

首先,我們關閉程序打開的使用的文檔;

然后判斷Application是否還有其他的打開的文檔。如果沒有其他打開的文檔,則調用Application的Quit方法,讓Application退出,結束Winword.exe的程序進程。如果確定以后還經常的調用Word,也可以不關閉Winword.exe的進程,這樣可以每次很快的打開Word的文檔。

4、注意事項

由于通過OLEObject調用Word等Office有許多限制。盡管這個方法能夠解決許多問題,但是還是有許多需要特別注意的地方

第一,使用ConnectToObject連接的文檔,不能被鎖定(比如被以前的進程打開,或者被當作模板新建立了一個文檔,都可能鎖定),否則將會產生未知錯誤(返回值-9);

第二,對Document的各種操作,要保證Word.Application.Visible=TRUE,否則調用可能會產生程序錯誤。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 开封县| 吉林省| 天峻县| 静安区| 库伦旗| 自治县| 乌拉特前旗| 尤溪县| 甘南县| 两当县| 沧州市| 齐河县| 双牌县| 南漳县| 汝州市| 武宁县| 乌兰浩特市| 富宁县| 太和县| 交口县| 泰来县| 平定县| 区。| 呼和浩特市| 和政县| 大城县| 曲阜市| 贵德县| 肥东县| 德阳市| 六盘水市| 军事| 英吉沙县| 阿城市| 宁远县| 景谷| 荆门市| 泾源县| 军事| 湾仔区| 永安市|