台灣最大程式設計社群網站
線上人數
507
 
會員總數:231090
接案會員:6781
文章總數:2319
討論主題:175359
歡迎您免費加入會員
討論區列表 >> ASP >> ActiveX DLL - Word.Application
[變換順序]
[我要回覆]
1


回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
ActiveX DLL - Word.Application
價值 : 20 QP  點閱數:2987 回應數:1

樓主

大群
門外漢
0 2
42 3
發送站內信

請問大家,我有個需求是用ASP開啟已編輯好的模版Word檔案,取代部份內文後供Client使用者在Word介面裡操作(儲存、列印)
在Asp檔案裡,試過好幾種方法,
▲ Asp Code ,這個 跑不起來
<%
Dim oWord
Set oWord = CreateObject("Word.Application")
oWord.Visible = True
oWord.Documents.Open("C:\A.doc")
%>

這個結果為錯誤...在「oWord.Documents.Open("C:\A.doc")」這行出現了 ↓

Microsoft Word 錯誤 '800a13e9'

記憶體不足。立即儲存文件。

▲ VBScript Code
<script language="VBScript">
Set oWord = CreateObject("Word.Application")
Set oDoc = oWord.Documents.Open("C:\A.doc")
</script>

這個結果,成功開啟(後續的取代,也有完成),但問題在Client必須調整網際網路選項的安全性才可執行
..Client端User很多,所以我尋找其他辦法

▲ 最後找到的辦法,COM元件,似乎不會有安全性的問題,於是找了資料來試
在網路上有找到一個用ASP讀取Word內容並顯示於Asp網頁上的範例,試過以後的確可以

Public Sub OpenFile(FilePath as String)
Dim oWord As Object
Dim oDoc As Object
Set oWord = CreateObject("Word.Application")
oWord.Visible = True
Set oDoc = oWord.Documents.Open(FilePath)
................
End Sub

問題就出在 oWord.Visilbe = True 這一句,這個sub如果移到Windows Form裡去跑 一切正常,但在ActiveX Dll裡面
跑完之後 看不到 Word的介面 但工作管理員的process裡面,每跑一次sub 就出現一個Winword.exe 請問這個部份該如何
調整,才可以讓Word介面正確的顯示出來呢?
本篇文章發表於2009-08-21 13:02
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

4color
檢舉此回應
你这个代开是打印服务端的Word的文档,你的用意应该是把文档下载到客户端,再通过客户端操作后,保存到服务端。
你既然是用Actiex dll,那么安全性就不是个问题。

本篇文章回覆於2009-10-13 09:38
--未登入的會員無法查看對方簽名檔--
[變換順序]
1
 

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