1 (изменено: inseption86, 2018-09-22 11:10:07)

Тема: VBA: Запуск Word c базой данных через Excel

Добрый вечер! Хочу добавить кнопку в книге  на запуск документа. Word содержит базу данных через слияние, а  с этим макросом запускается просто документ . Возможно ли это исправить Заранее спасибо!

Sub Start_dogovor()

ActiveWorkbook.Save

Dim objWrdApp As Object
Dim objWrdDoc As Object

On Error Resume Next
Set objWrdApp = GetObject(Class:="Word.Application")

If ActiveWorkbook.Name = "*.xlsx" And ActiveSheet.Range("M" & Cells.Rows.Count).End(xlUp).Text = "!!" Then
Set objWrdApp = CreateObject("Word.Application")
Set objWrdDoc = objWrdApp.Documents.Open("*.docx")
objWrdApp.Visible = True
End If

If objWrdApp.Documents.Count > 0 Then
            objWrdApp.Activate
End If
  Set objWrdDoc = objWrdApp.Documents.Open("*.docx")
    Set objWrdDoc = Nothing
    Set objWrdApp = Nothing
End Sub

2

Re: VBA: Запуск Word c базой данных через Excel

Решил так:

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Word\Options]
"SQLSecurityCheck"=dword:00000000

Возможно ли после запуска Word, страница была уже с нужными данными?, т.е: Рассылки - найти получателя - Ввод данных - Enter?
Попробовал так, но и не ошибок и нет действий

With ActiveDocument.MailMerge.DataSource
    .FindRecord FindText:="***", _
      Field:="ФИО на русском"
       
  End With

3

Re: VBA: Запуск Word c базой данных через Excel

Сделал так:

nz = Cells(1, 2).End(xlDown).Row - 1
objWrdDoc.MailMerge.DataSource.ActiveRecord = nz