人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

PB通過OLEObject運用Word

PB通過OLEObject運用Word

更新時間:2022-09-06 文章作者:未知 信息來源:網絡 閱讀次數:

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的程序的問題。

打開文檔

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

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

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

關閉文檔

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

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

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

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

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

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 乌兰县| 东明县| 麦盖提县| 衢州市| 景泰县| 桐庐县| 乌审旗| 高陵县| 镇江市| 杨浦区| 香格里拉县| 德安县| 光山县| 商洛市| 施甸县| 霍林郭勒市| 新安县| 紫金县| 平潭县| 万年县| 武宁县| 营口市| 梨树县| 巴塘县| 都兰县| 贞丰县| 象州县| 东乡族自治县| 连平县| 淮安市| 和田县| 彭州市| 广宗县| 聊城市| 南皮县| 罗山县| 科技| 英山县| 罗源县| 宁武县| 永安市|