Вставить текстовый документ на страницу ASP.net и получить доступ с помощью VBscript - PullRequest
2 голосов
/ 05 ноября 2008

У меня есть код, который открывает документ Word с использованием VBScript на странице ASP.net:

set objWord = CreateObject("Word.Application")

objWord.Visible = True

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

Это прекрасно работает, но открывает слово doc в другом окне. В идеале я хотел бы, чтобы это выглядело так, как будто оно содержится на текущей странице, возможно, в IFrame. У меня есть некоторые другие кнопки, которые вставляют текст в документ Word при нажатии.

Я не могу просто установить src iframe для слова document, так как мне нужна ссылка на слово document (objWord), чтобы позволить мне снова вставить текст в него в реальном времени, используя Vbscript для этого.

Не уверен, что это возможно, но любые идеи / альтернативы приветствуются?

Требования: Слово doc должно отображаться в веб-браузере

Рядом со словом документа будут некоторые кнопки, которые при нажатии вставляют в него текст

Ответы [ 4 ]

2 голосов
/ 06 ноября 2008

Вы можете использовать эту технику, чтобы получить содержимое документа 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

0 голосов
/ 04 сентября 2013

Вы можете попробовать сохранить в формате HTML

Const wdFormatHTML = 8

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

' etc ...

, а затем используйте его в качестве источника документа iframe. Помните, что при сохранении в формате HTML Word создает соответствующую папку ресурсов (для изображений и т. Д.), Поэтому вам, возможно, придется учесть это.

0 голосов
/ 10 июня 2013

Вы можете получить вдохновение от Excel Viewer компонента. Это как EDraw Office Viewer, но бесплатный и с открытым исходным кодом. В настоящее время он открывает только офисные документы, но вы можете легко изменить его для работы с Word.

0 голосов
/ 17 февраля 2011

Если есть возможность установить компонент ActiveX на клиентских компьютерах, вы можете попробовать компонент EDraw Office Viewer или более дешевый Ultra Office Control . Оба метода основаны на примере DSOFramer, разработанном Microsoft и аналогичными методами для взаимодействия с документами.

Дан пример кода, показывающий, как вызывать диалоги, вставлять текст и т. Д.

...