Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
28.03.2024, 21:31:20

Войти
На форуме добавлена возможность подписки на RSS-ленты любого раздела форума. Подписаться можно, нажав на иконку RSS , расположенную левее наименования раздела.
33 233 Сообщений в 5 454 Тем от 6 750 Пользователей
Последний пользователь: Alex1210
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по Excel и VBA
| | |-+  VBA. Как получить доступ к объекту Ворда который я вставил в Эксель?
Страниц: [1]   Вниз
Печать
Автор Тема: VBA. Как получить доступ к объекту Ворда который я вставил в Эксель?  (Прочитано 1996 раз)
0 Пользователей и 1 Гость смотрят эту тему.
iliya
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 1


Просмотр профиля E-mail
« : 07.02.2023, 11:30:55 »

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

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 828



Просмотр профиля WWW
« Ответ #1 : 07.02.2023, 13:19:02 »

Вы хоть напишите как внедряете...Если как объект в виде значка, то можно схитрить и открывать его, потом передавать управление в Word и делать все там(в этой статье описано чуть более подробно: Как из Excel обратиться к другому приложению). А вот пример, как открыть файл из вставленного как значок на лист объекта и обратиться к нему:
Код: (vb)
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". У это имя может быть другим.
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru