Как использовать таблицу слов в качестве источника данных mailmerge - PullRequest
0 голосов
/ 07 февраля 2020

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

Теперь мой вопрос: есть ли способ использовать таблицу слов в качестве источника данных (я имею в виду создать источник данных? используя данные в таблице слов) без вызова excel?

Я спрашиваю об этом, потому что мне нужно использовать макрос word-vba, и я стараюсь не открывать экземпляр Excel.

edit

Я попытаюсь уточнить, что я ищу, с помощью следующего псевдокода (я добавил «Зачем?» В неправильных строках кода ):

Dim mDoc As Document
Dim mTbl As Table
Set mDoc = ActiveDocument
Set mTbl = mDoc.Tables(1)

Dim mDS As MailMerge.DataSource 'What for this?

For C = 1 To mTbl.Columns.Count
    'Add Fields
    Dim FieldName As String
    FieldName = mTbl.Cell(1, C).Range.Text
    mDS.Fields.Add (FieldName) 'What for this?
    'Add Values
    For R = 2 To mTbl.Rows.Count
        mDS.Fields(FieldName)(R) = mTbl.Cell(R, C).Range.Text 'What for this?
    Next R
Next C

1 Ответ

1 голос
/ 08 февраля 2020

В Word начните с чистого документа, затем добавьте одну таблицу. Введите категорию в верхнем ряду (например, Имя, Фамилия и т. Д. c). Затем добавьте данные в строках ниже. Тогда вы сможете использовать такой оператор для соединения:

ActiveDocument.MailMerge.OpenDataSource Name:="Y:\Test\Word\MailmergeSource.docx", LinkToSource:=True, SubType:=wdMergeSubTypeOther

...