台灣最大程式設計社群網站
線上人數
1501
 
會員總數:231369
接案會員:6788
文章總數:1904
討論主題:175537
歡迎您免費加入會員
討論區列表 >> VB6 >> VB開啟Word後,無法讀取Word內容
[變換順序]
[我要回覆]
1


回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
VB開啟Word後,無法讀取Word內容
價值 : 30 QP  點閱數:2845 回應數:13

樓主

Andasan
初學者
661 332
2109 403
發送站內信

各位大大,我已VB開啟WORD文件後,想讀取內容,卻出現開啟後可以讀取,但在次讀取時卻出現,「集合中所需的成員不存在」的錯誤...令外就是我無法關掉開啟的word資源


本篇文章發表於2010-04-03 11:26
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

Jones
捐贈 VP 給 Jones 檢舉此回應
我把 Dim testSouce As Word.Application
改成 Dim testSouce As Object
才能正常讀取!



本篇文章回覆於2010-04-03 11:33
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Andasan
檢舉此回應
感謝
可是我改了以後還是一樣
我發現好像是沒有關掉word資源的問題

因為我關掉後工作管理員還是會開有兩個WINWORD.EXE的檔案
然後每開一次就加一次.........
不知道要怎麼關掉

本篇文章回覆於2010-04-03 11:52
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

Andasan
檢舉此回應
以下是程式碼


本篇文章回覆於2010-04-03 11:55
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

JoJo
檢舉此回應

如何使用 Word Automation 計數文件中每節的頁數

Automation和OLE不能同時開啟,會鎖定檔案,所以要把另一個關閉後,才能開啟..

本篇文章回覆於2010-04-03 15:47
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

Andasan
檢舉此回應
JOJO大大
Automation和OLE不能同時開啟,會鎖定檔案,所以要把另一個關閉後,才能開啟.. ,這句話我不太了解

如果Automation和OLE開啟的是不同檔案,例如:這支程式中OLE並沒有開啟檔案,只是開啟Word程式而已也不行嗎?

如果真的不行,有什麼辦法解決呢?

感謝

本篇文章回覆於2010-04-03 20:06
--未登入的會員無法查看對方簽名檔--
6樓
回應

JoJo
檢舉此回應
您Automation開檔的寫法有問題,參考4樓就不會出錯了...

本篇文章回覆於2010-04-03 22:04
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

Andasan
檢舉此回應
感謝JOJO大大,我最後整理出來如下,但是發現關閉視窗後,還是有一個WINWORD.EXE的處理程式在執行,好像沒有關掉,請大大指教



本篇文章回覆於2010-04-04 16:59
--未登入的會員無法查看對方簽名檔--
8樓
回應

Jones
捐贈 VP 給 Jones 檢舉此回應
不知你是否一定要使用.doc格式,
或許可以考慮將.doc轉成.rtf格式,然後使用RichTextBox來顯示,
這樣既快速又方便,沒有安裝Word也可以使用,最重要的是不會發生你現在碰到這些問題!


本篇文章回覆於2010-04-04 21:16
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

Andasan
檢舉此回應
最主要是使用Word可以用VBA但是RTF不行

另外問一個問題,請大大幫幫忙
在程式中,我在WORD讀取文字
Msgbox objDoc.Tables(1).Cell(2, 2).Range.Text
但是讀出來的字串後面好像多了什麼東西,讓我後面的程式無法判斷

例如:如果objDoc.Tables(1).Cell(2, 2).Range.Text的文字是1的話,但是使用Len()來檢查,卻出現3的長度,不知道是為什麼,又該如何解決呢?

本篇文章回覆於2010-04-05 00:08
--未登入的會員無法查看對方簽名檔--
10樓
不錯的參考

Yuh
檢舉此回應
可能要先知道多出來的內容是什麼再決定怎麼處理:



本篇文章回覆於2010-04-05 04:28
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

Andasan
檢舉此回應
測試結果出現
51 --代表3
13 --代表跳行
7 ---我不知道代表什麼,要去哪裡查呢

感謝

本篇文章回覆於2010-04-05 13:58
--未登入的會員無法查看對方簽名檔--
12樓
回應

JoJo
檢舉此回應
ASCII

如果都是數字和字母,就判斷48~122才是所要的資料...

本篇文章回覆於2010-04-05 14:21
--未登入的會員無法查看對方簽名檔--
13樓
回應

Yuh
檢舉此回應
如果已知固定會多抓到那2個字元,有很多種方法:
1.字串 = Left$(字串, Len(字串) - 2)
2.If 字串 = (比對字串 & Chr(13) & Chr(7)) Then
3.字串 = Replace(字串, Chr(13) & Chr(7), vbNullString)

本篇文章回覆於2010-04-05 18:49
--未登入的會員無法查看對方簽名檔--
[變換順序]
1
 

回覆
如要回應,請先登入.