2

我有一些代码可以在 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 doc。理想情况下,我想让它看起来好像包含在当前页面中,或者在 IFrame 中。我还有一些其他按钮可以在单击时将文本粘贴到 word 文档中。

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

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

要求:word doc 需要在浏览器中显示

在 word 文档的一侧会有一些按钮,点击这些按钮会将文本粘贴到其中

4

4 回答 4

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

于 2008-11-05T23:19:58.273 回答
0

如果可以选择在客户端计算机上安装 ActiveX 组件,您可以尝试EDraw Office Viewer 组件或更便宜的Ultra Office Control。两者都基于 Microsoft 的 DSOFramer 示例,并提供了与文档交互的类似方法。

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

于 2011-02-17T10:27:35.543 回答
0

可以尝试保存为 HTML 格式

Const wdFormatHTML = 8

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

' etc ...

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

于 2013-09-04T12:14:45.677 回答
0

您可以从Excel Viewer组件中获得灵感。它类似于 EDraw Office Viewer,但免费且开源。目前,它只打开办公文档,但您可以轻松地将其更改为使用 Word。

于 2013-06-10T08:49:37.463 回答