Объединение почты (Excel в Word) с использованием C#
Вопрос
Мне было интересно, знает ли кто-нибудь, как выполнить слияние почты, используя файл 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-файл в таблицу данных, а затем указать элементу управления объединить его.