Вставить текстовый документ на страницу ASP.net и получить доступ с помощью VBscript

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

set objWord = CreateObject("Word.Application")

objWord.Visible = True

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

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

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

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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
8 715
4

Ответы 4

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

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

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

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

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

Const wdFormatHTML = 8

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

' etc ...

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

Другие вопросы по теме