Показать полную графическую версию : Открытие документа Word, VBA
Tomplier
28-07-2012, 10:48
Ребят не могу разобраться как правильно прописать код.
А задача простая что бы из под документа Word (doc) открыть другой документ .doc. Фактически - это макрос.
Код я прописал такой:
Dim objWrd As Object, objDoc As Object
Set objWrd = CreateObject("Word.Application")
Set objDoc = objWrd.Documents.Open("Путь к файлу\name.doc")
Когда запускаю макрос, то ничего не происходит. Конечно если копнуть поглубже, то выясняется, что в Диспетчере задач повис процесс WINWORD.EXE.
Но процесс процессом, а документ-то не открывается.
Помогите пожалуйста разобраться что к чему.
Delirium
28-07-2012, 11:24
objWrd.Visible = True после Documents.Open
код из справки
Sub OpenDoc()
Documents.Open FileName:="Путь к файлу\name.doc", ReadOnly:=True
End Sub
Когда запускаю макрос, то ничего не происходит. »
Происходит.
Конечно если копнуть поглубже, то выясняется, что в Диспетчере задач повис процесс WINWORD.EXE. »
Разумеется. Вы ведь не закрываете Word.
Но процесс процессом, а документ-то не открывается. »
Открывается. С ним можно программно работать.
Если у Вас есть желание увидеть:
objWrd.Visible = True »
Если нужно просто открывать документ, то проще использовать ShellExecute.
Всё это относится к открытию документа извне.
А задача простая что бы из под документа Word (doc) открыть другой документ .doc. »
Коль Вы открываете документ уже из-под Word'а, то Вам нет никакой необходимости создавать новый экземпляр приложения:
Dim objWrd As Object
Set objWrd = CreateObject("Word.Application") »
Используйте существующий экземпляр приложения:
код из справки
Sub OpenDoc()
Documents.Open FileName:="Путь к файлу\name.doc"
End Sub »
Tomplier
28-07-2012, 14:47
после Documents.Open »
Именно это мне и было нужно, пока
ferget и Iska
не подсказали конструкцию:
Documents.Open FileName:="Путь к файлу\name.doc"
Которая мне показалась более подходящей. но думаю, первоначальный код с доработкой - тоже пригодится.
В общем всем спасибо за помощь. :)
…но думаю, первоначальный код с доработкой - тоже пригодится. »
Пригодится, когда Вам понадобится открывать документ извне макроса Word среды VBA — например, из скрипта WSH/PoSH. Хотя там чаще как раз не используют:
objWord.Visible = True
поскольку вся работа происходит полностью (или почти полностью) в автоматическом режиме.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.