将word文档嵌入到ASP.net页面并使用VBscript进行访问

时间:2008-11-05 16:16:50

标签: asp.net vbscript ms-word

我有一些代码可以在ASP.net页面上使用VBScript打开word文档:

set objWord = CreateObject("Word.Application")

objWord.Visible = True

objWord.Documents.Open "c:\inetpub\wwwroot\JSWordTest\test.doc", False, False, False

这很好用,但在另一个窗口中打开word文档。理想情况下,我希望看起来好像它包含在IFrame中的当前页面中。我有一些其他按钮,单击时将文本粘贴到word文档中。

我不能将iframe的src设置为word文档,因为需要对word文档(objWord)的引用,以允许我使用Vbscript再次实时将文本粘贴到其中。

不确定这是否可行但欢迎任何想法/替代方案?

要求: 需要在Web浏览器中显示doc文档

在Word文档的一侧将是一些按钮,当点击时将文本粘贴到其中

4 个答案:

答案 0 :(得分:2)

您可以使用此技术获取Word文档的内容,而不显示任何窗口。

' Declare an object for the word application '
Set objWord = CreateObject("Word.Application")

objWord.Visible = False                 ' Don''t show word '
objWord.Documents.open("C:\test.doc")   ' Open document '
objWord.Selection.WholeStory            ' Select everything in the doc '
strText = objWord.Selection.Text        ' Assign document contents to var'
objWord.Quit False                      ' Close Word, don't save ' 

一旦你在变量中获得了文档的内容,就可以用document.write或者你想要使用的任何方法写出它,你可以用它做你想做的事。

您可以在此处找到有关MS Word应用程序对象及其方法的更多详细信息:http://msdn.microsoft.com/en-us/library/aa221371(office.11).aspx

答案 1 :(得分:0)

如果是在客户端计算机上安装ActiveX组件的选项,则可以尝试EDraw Office Viewer component或廉价Ultra Office Control。两者都基于Microsoft的DSOFramer示例和提供者与文档接口的类似方法。

给出示例代码并显示如何触发对话框,插入文本等

答案 2 :(得分:0)

您可以从Excel Viewer组件获取灵感。它就像EDraw Office Viewer,但是免费和开源。目前,它只打开office文档,但您可以轻松地将其更改为使用Word。

答案 3 :(得分:0)

可以尝试保存为HTML格式

Const wdFormatHTML = 8

dim doc
set doc = objWord.Documents.open("C:\test.doc")
doc.SaveAs "doc.htm", wdFormatHTML 

' etc ...

然后将其用作iframe文档的来源。请记住,在保存为HTML格式时,Word会创建相应的资源文件夹(对于图像等),因此您可能需要考虑这一点。