Прежде всего, это мой код.Таблица Выберите ошибку при слиянии с Excel на слово
Sub RunMerge()
' Word constants
Dim wd As Object
Dim wdocSource As Object
Dim strWorkbookName As String
On Error Resume Next
Set wd = GetObject(, "Word.Application")
If wd Is Nothing Then
Set wd = CreateObject("Word.Application")
End If
On Error GoTo 0
Set wdocSource = wd.Documents.Open(ThisWorkbook.Path & "\AAFCAAC-#4077508-v1-AAFC-FFPB-COPE-SATD-_AgriInnovation_Draft_Survey_Instructions_189318.doc")
strWorkbookName = ThisWorkbook.Path & "\" & "MD.xlsm"
wdocSource.MailMerge.MainDocumentType = wdFormLetters
wdocSource.MailMerge.OpenDataSource _
Name:=strWorkbookName, _
AddToRecentFiles:=False, _
Revert:=False, _
Format:=wdOpenFormatAuto, _
Connection:="Data Source=" & strWorkbookName, _
SQLStatement:="SELECT * FROM 'Mail Merge Data$'"
With wdocSource.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With
wd.Visible = True
wdocSource.Close SaveChanges:=False
Set wdocSource = Nothing
Set wd = Nothing
End Sub
Я пытаюсь получить слияние почты от Excel к слову. Моя проблема (я считаю) с SQLStatement: = «SELECT * FROM» Mail Merge Data $ », поскольку, когда я запускаю свой код, excel переходит в неопределенность, ожидая слова. Когда я вхожу в свой диспетчер задач, я вижу, что слово зацикливается на выборе таблицы. В меню выбора таблицы нет параметров, и указанная книга - это только путь к моей книге с добавлением .xls до конца. Если я удалю строку SQLStatement, произойдет то же самое, но таблица select заполняется листами и диапазонами имен в моей книге. Я надеюсь, что это небольшая ошибка или опечатка с моей стороны.
Просто чтобы дать немного больше информации. Если я удалю строку SQLStatement и перейду в мой диспетчер задач, чтобы выбрать процесс «выбор таблицы» (его можно выбрать только с помощью диспетчера задач) и выбрать правильный лист, тогда остальная часть программы будет выполняться плавно. – Tolure