|
|||||||
Время создания: 16.03.2019 23:43
Текстовые метки: vba , word
Раздел: !Закладки - VBA - Word
Запись: xintrea/mytetra_db_adgaver_new/master/base/1514387594gvec1bufnn/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Если есть необходимость обратиться к данным, хранящимся в текстовом файле приложения Word, или наоборот, передать данные из Excel в такой файл, то возникнет необходимость запуска приложения, в формате которого сохранен файл. Ниже приведен программный код макроса VBA для Microsoft Excel, запускающий приложение Word. Макрос, запускающий Word из Excel и открывающий новый документ Если для передачи данных из Excel в Word необходим новый документ, можно воспользоваться примером кода, приведенного ниже. Макрос проверяет запущен ли Word и если он запущен, то добавляет новый документ, если же не запущен, то сначала запускает Word, а затем добавляет новый документ. Sub Zapusk_Word_iz_Excel_01() Dim objWrdApp As Object
Dim objWrdDoc As Object
On Error Resume Next
Set objWrdApp = GetObject(, "Word.Application")
If objWrdApp Is Nothing Then
Set objWrdApp = CreateObject("Word.Application")
Set objWrdDoc = objWrdApp.Documents.Add
objWrdApp.Visible = True
End If
Set objWrdDoc = objWrdApp.Documents.Add
Set objWrdDoc = Nothing
Set objWrdApp = Nothing
End Sub
Для того, чтобы перенести этот программный код на свой компьютер, наведите курсор мыши на поле с программным кодом, нажмите на одну из двух кнопкок в правом верхнем углу этого поля, скопируйте программный код и вставьте его в модуль проекта на своем компьютере (подробнее о том, как сохранить программный код макроса). Макрос, запускающий Word из Excel и открывающий существующий документ Если для передачи данных из Word в Excel, необходимо открыть файл с заданным именем, то можно использовать аналогичный код, в котором вместо добавления нового документа открывается документ существующий: Sub Zapusk_Word_iz_Excel_02() Dim objWrdApp As Object
Dim objWrdDoc As Object
On Error Resume Next
Set objWrdApp = GetObject(, "Word.Application")
If objWrdApp Is Nothing Then
Set objWrdApp = CreateObject("Word.Application")
Set objWrdDoc = objWrdApp.Documents.Open("C:\Doc1.doc")
objWrdApp.Visible = True
End If
Set objWrdDoc = objWrdApp.Documents.Open("C:\Doc1.doc")
Set objWrdDoc = Nothing
Set objWrdApp = Nothing
End Sub
При копировании этого кода на свой компьютер, не забудьте изменить путь к файлу и его имя. Запуск приложения можно сделать невидимым, если в коде изменить True на False. Макрос для передачи данных из Excel в Word Ниже приведен программный код макроса, копирующий в активной рабочей книге Excel диапазон с данными A1:E2 и вставляющий его в открытый документ Word. После передачи данных из Excel в Word производится закрытие документа с сохранением изменений и выход из приложения. Sub Peredacha_Dannyh_iz_Excel_v_Word() Dim objWrdApp As Object
Dim objWrdDoc As Object
On Error Resume Next
Set objWrdApp = GetObject(, "Word.Application")
If objWrdApp Is Nothing Then
Set objWrdApp = CreateObject("Word.Application")
Set objWrdDoc = objWrdApp.Documents.Open("C:\Doc1.doc")
objWrdApp.Visible = False
End If
Set objWrdDoc = objWrdApp.Documents.Open("C:\Doc1.doc")
Range("A1:E2").Copy
objWrdDoc.Range(0).Paste
objWrdDoc.Close True
'True - с сохранением, False - без сохранения
objWrdApp.Quit
Set objWrdDoc = Nothing
Set objWrdApp = Nothing
End Sub
Другие материалы по теме: |
|||||||
Так же в этом разделе:
|
|||||||
![]() |
|||||||
|
|||||||
|