我有一些代码可以在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文档的一侧将是一些按钮,当点击时将文本粘贴到其中
答案 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会创建相应的资源文件夹(对于图像等),因此您可能需要考虑这一点。