VBA - Слияние почты через доступ - PullRequest
0 голосов
/ 03 марта 2010

Я не уверен, почему мой код не работает .. У меня есть код в vba в Access 03, который открывает документ Word, который запускает процесс слияния почты. Когда код запускается, он спрашивает меня, что такое разделители заголовков. Я указал их в файле экспорта как запятую для разделителя полей и как разделитель записей. После того как я подтвердил это словом, я получил ошибку во время выполнения.

Я получаю ошибку: Ошибка выполнения '5922': Word не удалось открыть источник данных.

strExportFullyQualifiedName - текстовый файл, который экспортируется с указанными в нем именами полей, который используется в качестве файла источника данных.

Я проверил ссылки и проверил, все существует. Соединение не устанавливается. strExportFullyQualifiedName - расположение текстового файла.

 With objWordDoc
        .MailMerge.OpenDataSource _
          Name:=strExportFullyQualifiedName, Format:=wdOpenFormatAuto, _
          ConfirmConversions:=False, ReadOnly:=False, SubType:=wdMergeSubTypeAccess, AddToRecentFiles:=False
        .MailMerge.Destination = wdSendToNewDocument
        .MailMerge.MainDocumentType = wdDirectory
        .MailMerge.SuppressBlankLines = True
    End With

Спасибо!

Ответы [ 2 ]

1 голос
/ 04 марта 2010
  1. Вы дважды сказали, что strExportFullyQualifiedName - это местоположение текстового файла.Я никогда раньше не автоматизировал этот процесс, но я думал, что вы можете экспортировать только из файла Word .

  2. Содержит ли strExportFullyQualifiedName путь к файлу и имя файла?например, "C: \ Test.Doc"?

1 голос
/ 03 марта 2010

У вас есть ссылка на Библиотеку Word (Окно кода-> Инструменты-> Ссылки)? Если нет, вам нужно будет использовать значения для встроенных констант, таких как wdOpenFormatAuto

РЕДАКТИРОВАТЬ комментарий

Поскольку у вас есть текстовый файл, я не верю, что ваши типы верны. Попробуйте что-то вроде:

''To create output, if required
''DoCmd.TransferText acExportDelim, , "qryMailMerge", strExportFullyQualifiedName, True

 With objWordDoc
     .MailMerge.OpenDataSource _
      Name:=strExportFullyQualifiedName, Format:=wdOpenFormatText
     .MailMerge.Destination = wdSendToNewDocument
     .MailMerge.MainDocumentType = wdDirectory
     .MailMerge.SuppressBlankLines = True
 End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...