Автоматизированный Word VBA MailMerge - PullRequest
0 голосов
/ 01 мая 2020

Я искал возможность иметь файл Word Mailmerge, который при открытии файла открывает диалоговое окно для источника данных (файл Excel с другими именами). Это не должно быть mailmerge .... я бью себя головой о стену каждый раз, как я пытался потерпеть неудачу ...

1 Ответ

0 голосов
/ 02 мая 2020

Вы можете использовать макрос Document_Open, например:

Private Sub Document_Open()
Application.ScreenUpdating = False
Dim StrMMSrc As String
With Application.FileDialog(FileDialogType:=msoFileDialogFilePicker)
  .Title = "Data Source Selector"
  .AllowMultiSelect = False
  .Filters.Add "Documents", "*.xls; *.xlsx; *.xlsm", 1
  .InitialFileName = ""
  If .Show = -1 Then
    StrMMSrc = .SelectedItems(1)
  Else
    GoTo ErrExit
  End If
End With
With ActiveDocument.MailMerge
  .OpenDataSource Name:=StrMMSrc, ReadOnly:=True, AddToRecentFiles:=False, _
    LinkToSource:=False, Connection:="Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;" & _
    "Data Source=StrMMSrc;Mode=Read;Extended Properties=""HDR=YES;IMEX=1"";", _
    SQLStatement:="SELECT * FROM `Sheet1$`"
End With
ErrExit:
Application.ScreenUpdating = True
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...