Новости:

Форум на данный момент в стадии обновления. Если у Вас возникли проблемы со входом в свою учетную запись - просьба писать на email: info@excel-vba.ru

Главное меню

VBA. Как получить доступ к объекту Ворда который я вставил в Эксель?

Автор iliya, 07.02.2023, 11:30:55

« назад - далее »

iliya

У меня макрос использует файл Ворда как шаблон, копирует и редактирует его, и я получал готовый ворд документ. Ворд документ находился в одной папке с файлом Экселя. Я вставил Ворд документ как объект в Ексель. Как теперь получить к нему доступ? (копировать и т.д). Раньше я использовал FileCopy (путь файла) (имя файла) и все получалось. Но документов Ворда становится больше и удобнее будет если будет только файл Ексель, а документы Ворда будут скрыты внутри него

Дмитрий Щербаков(The_Prist)

Вы хоть напишите как внедряете...Если как объект в виде значка, то можно схитрить и открывать его, потом передавать управление в Word и делать все там(в этой статье описано чуть более подробно: Как из Excel обратиться к другому приложению). А вот пример, как открыть файл из вставленного как значок на лист объекта и обратиться к нему:
Sub ChangeWorkdFromExcelSheet()
    Dim v
    Dim objWrdApp As Object, objWrdDoc As Object
   
    Set v = ActiveSheet.DrawingObjects("word_object")
    v = v.Verb(Verb:=xlOpen)
    If v = True Then
        On Error Resume Next
        'пытаемся подключится к объекту Word
        Set objWrdApp = GetObject(, "Word.Application")
        If Not objWrdApp Is Nothing Then
            Set objWrdDoc = objWrdApp.activedocument
            'записываем слово "Привет" в документ из листа
            objWrdDoc.Range.Text = "Привет и пока"
            'закрываем документ Word c сохранением
            objWrdDoc.Close True
        End If
        objWrdApp.Quit
    End If
End Sub

имя объекта взял ниоткуда - "word_object". У это имя может быть другим.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Яндекс.Метрика Рейтинг@Mail.ru