Страницы: 1
RSS
открыть OleObject и связать с закладкой, внести сведения из excel в закладку в документе Word
 
Добрый день, друзья!

Прошу помочь решить проблему.
Ситуация: есть Word вложенный в лист excel в виде объекта. В этом объекте есть закладка.
Нужно:
1. Открыть объект и внести в него сведения из Excel.
2. Сохранить заполненный документ word в ту же папку, в которой находится word.
С обычными документами выходит, а с вложенными объектами нет, так как вложенный объект открывается только через selection.verb
Буду благодарен за помощь!

Мой код в модуле 1 под именем "согласие".
Изменено: yegorovaleks - 02.04.2015 23:14:20
 
Попробуйте такой вариант
Код
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
 
Добрый день!

Спасибо за ответ!

Практически то, что нужно, однако не работает вот этот момент:
Код
marker1 = "в"
wd.Bookmarks.Item(marker1).Range.Text = "hi!!!"
Не подтягивается значение "hi!!!" в закладку.
Буду признателен за помощь!
 
Проверьте язык, на котором эта "В" написана. И есть ли она вообще. И точно ли именно так написана. Синтаксис вполне правильный и все должно работать.
Попробуйте после строки:
wa.Visible = True

поставить строку:
On Error Resume Next
и посмотреть какая ошибка появится в момент попытки назначения нового значения закладке.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
yegorovaleks написал: не работает вот этот момент
Этот кусок кода из вашего файла, без изменения. У меня все работает, правда, при открытии вложенного объекта Word несколько раз ругается "не удалось запустить конвертер".
И еще: после изменения и закрытия документа в Word, документ в книге также обновляется: после нескольких запусков макроса от выглядит как "hi!!!hi!!!hi!!!hi!!!hi!!!hi!!!hi!!!". Так что если макрос будет запускаться несколько раз, надо после сохранения документа в папку делать откат изменений в Word.
 
Спасибо за пояснение!

Проблема решена. Вина - человеческий фактор.

Просто сам вложенный файл изменил своё название на "Документ" и сбросил закладки.

Всё работает.

Остался последний штрих - как сделать...  
 
yegorovaleks, Вашим строкам тесно? Зачем столько пустых?
Вопрос не по теме удален
Страницы: 1
Наверх