Вопрос

Мне было интересно, знает ли кто-нибудь, как выполнить слияние почты, используя файл Excel в качестве источника данных, для заполнения полей в шаблоне Word?Я хотел бы использовать взаимодействие для Word, если бы мог...но у меня возникли некоторые трудности с поиском кода для этого.Есть ли у кого-нибудь какой-нибудь синтаксис для этого?Заранее благодарю вас.

Это было полезно?

Решение

Очень полезным методом для изучения того, как автоматизировать определенные действия в MS Word, является фактическое выполнение действия вручную с включенным "Макрос записи".

Как только у вас будет макрос VBA, его достаточно легко преобразовать в VB.NET или C #, который использует interop.Обычно я сначала настраиваю VBA вручную в Word, чтобы затем я мог сначала протестировать это перед преобразованием на язык .NET с использованием уровня взаимодействия.

Я мало что знаю о mailmerge, но это часть VBA, сгенерированная во время записи макроса:

ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
ActiveDocument.MailMerge.OpenDataSource Name:= _
    "c:\Arrays.xlsx", ConfirmConversions:=False, _
     ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, _
    PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _
    WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, _
    Connection:= _
    "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=c:\Arrays.xlsx;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=37;Jet OLEDB:Database Loc" _
    , SQLStatement:="SELECT * FROM `Sheet1$`", SQLStatement1:="", SubType:= _
    wdMergeSubTypeAccess

Я не включил сюда полный код, но, надеюсь, это натолкнет вас на некоторые идеи.

Другие советы

Word (по крайней мере, в версии 2007, на которую я смотрю) может сделать это из коробки.Просто выберите файл Excel в качестве источника данных.Что вы пытаетесь сделать в своем коде?

Я использую это контроль третьей стороны.Вы можете прочитать свой xls-файл в таблицу данных, а затем указать элементу управления объединить его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top