Хобрук: Ваш путь к мастерству в программировании

Ошибка выбора таблицы при слиянии почты из 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 в word. Моя проблема (я полагаю) связана с SQLStatement: = "SELECT * FROM 'Mail Merge Data $'", потому что, когда я запускаю свой код, Excel переходит в подвешенное состояние, ожидая слова. Когда я захожу в диспетчер задач, я вижу, что слово застряло при выборе таблицы. В меню выбора таблицы нет параметров, а назначенная рабочая книга — это только путь к моей рабочей книге с добавленным в конец .xls. Если я удалю строку SQLStatement, произойдет то же самое, но таблица выбора будет заполнена листами и диапазонами имен в моей книге. Я надеюсь, что это небольшая ошибка или опечатка с моей стороны.

29.05.2013

  • Просто чтобы дать немного больше информации. Если я удалю строку SQLStatement и перейду к моему диспетчеру задач, чтобы выбрать процесс выбора таблицы (его можно выбрать только с помощью диспетчера задач) и выбрать правильный лист, то остальная часть программы будет работать гладко. 29.05.2013

Ответы:


1

Я думаю, проблема в том, что вы удалили дополнительные кавычки, которые необходимы в вашей ситуации. Ваш оператор SQL должен выглядеть примерно так:

SQLStatement:="SELECT * FROM `'Mail Merge Data$'`"

Вы также можете попробовать с этим кодом:

SQLStatement:="SELECT * FROM [Mail Merge Data$]"
29.05.2013
Новые материалы

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..