Прошу помочь решить проблему. Ситуация: есть Word вложенный в лист excel в виде объекта. В этом объекте есть закладка. Нужно: 1. Открыть объект и внести в него сведения из Excel. 2. Сохранить заполненный документ word в ту же папку, в которой находится word. С обычными документами выходит, а с вложенными объектами нет, так как вложенный объект открывается только через selection.verb Буду благодарен за помощь!
Sub согласие()
Dim nDoc&, nDoc0&, wa As Object, wd As Object, myWord As Boolean, marker1
On Error Resume Next
Set wa = GetObject(, "Word.Application") 'Пытаемся подключиться к открытому приложению Word
If Err Then 'нет открытого Word
Err.Clear
Set wa = CreateObject("Word.Application") ' Создаем приложение Word
If Err Then
MsgBox "Не удалось создать приложение Word", vbCritical
Exit Sub
End If
myWord = True
End If
wa.Visible = True 'делаем Word видимым
nDoc0 = wa.documents.Count 'число документов в приложении Word до
Sheets("Лист2").OLEObjects(1).Verb
nDoc = wa.documents.Count 'число документов в приложении Word после
If nDoc = nDoc0 + 1 Then 'мы контролируем правильный Word!
Set wd = wa.documents(nDoc)
marker1 = "в"
wd.Bookmarks.Item(marker1).Range.Text = "hi!!!"
wd.SaveAs ThisWorkbook.Path & "\NewDoc.docx"
If myWord Then wa.Quit Else wd.Close 0
Else
MsgBox "Нет связи с открытым документом Word", vbCritical
End If
End Sub
Проверьте язык, на котором эта "В" написана. И есть ли она вообще. И точно ли именно так написана. Синтаксис вполне правильный и все должно работать. Попробуйте после строки: wa.Visible = True
поставить строку: On Error Resume Next и посмотреть какая ошибка появится в момент попытки назначения нового значения закладке.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Этот кусок кода из вашего файла, без изменения. У меня все работает, правда, при открытии вложенного объекта Word несколько раз ругается "не удалось запустить конвертер". И еще: после изменения и закрытия документа в Word, документ в книге также обновляется: после нескольких запусков макроса от выглядит как "hi!!!hi!!!hi!!!hi!!!hi!!!hi!!!hi!!!". Так что если макрос будет запускаться несколько раз, надо после сохранения документа в папку делать откат изменений в Word.