2008-11-05 60 views
2

我有打开一个ASP.net页面上使用VBScript一个word文档一些代码:嵌入Word文档到ASP.net页面和访问使用VBScript

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将文本粘贴到文档中。

不知道这是可能的,但任何想法/替代品欢迎?

要求: 的Word文档需要从Web浏览器

显示在Word文档的一侧会出现一些按钮,当点击文本粘贴到它

回答

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 ' 

一旦你得到了变量中的文件的内容,你可以做你想做的与它尽可能与文件撰写或任何你想用写出来。

您可以找到MS Word应用程序对象上更多的细节和它的方法在这里:http://msdn.microsoft.com/en-us/library/aa221371(office.11).aspx

0

如果是在客户机上安装一个ActiveX组件的选项,你可以尝试EDraw Office Viewer component或cheapter Ultra Office Control。两者都基于Microsoft的DSOFramer示例,并提供了类似的方法来与文档进行交互。

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

0

您可以从Excel Viewer组件获得灵感。它就像EDraw Office Viewer一样自由而开放源代码。目前,它仅打开Office文档,但您可以轻松将其更改为使用Word。

0

可能尝试保存为HTML格式

Const wdFormatHTML = 8 

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

' etc ... 

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