六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

PB通過OLEObject使用Word

[摘要]1 引言在編程的時候,常常需要訪問Word文檔。除了使用DDE之外,PowerBuilder還有一種操作Word的方式,就是通過OLEObjcet和OLEControl。OLEObject是不可視的OLE對象,而OLEControl則是可視的窗口控件。由于OLEObject較后...
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,否則調用可能會產生程序錯誤。


主站蜘蛛池模板: 日本一区二区三区中文字幕视频 | 欧美性活一级视频 | 午夜影院在线视频 | 天天色综合三 | 一级香蕉视频在线观看 | 天天看天天爽天天摸天天添 | 日韩三级影院 | 亚洲图区综合网 | 青草影视| 手机看片福利盒子久久 | 五月婷婷六月香 | 天堂a在线 | 欧美性xxxx极品高清3d | 亚欧精品一区二区三区 | 亚洲淫片| 香蕉视频一区 | 色综合天天综合网国产成人 | 日日添日日摸 | 三级国产视频 | 四虎激情做人爰 | 羞羞漫画在线阅读页面漫画入口页面弹窗无限 | 色婷婷5月精品久久久久 | 日本高清一级片 | 午夜轮理 | 欧美一卡二卡三卡四卡 | 全黄一级片 | 日韩黄色免费 | 日韩a| 欧美天天 | 亚洲精品午夜 | 青青青爽视频在线观看 | 午夜色婷婷 | 色偷偷影院| 日韩成人小视频 | 欧美视频在线免费播放 | 一区二区免费视频观看 | 青娱乐国产精品 | 午夜在线观看免费视频 | 日韩成人av在线 | 亚洲精品一级毛片 | 色视频线观看在线播放 |