代码:
public void Print(string docLoc, string docSource)
{
try
{
Word.Application oWord = new Word.Application();
Word.Document oWrdDoc = new Word.Document();
oWord.Visible = true;
Object oTemplatePath = "C:\\Users\NAME\\Desktop\\B-AIAddChgDual10-06-NEW.doc";
oWrdDoc = oWord.Documents.Open(oTemplatePath);
Object oMissing = System.Reflection.Missing.Value;
oWrdDoc.MailMerge.OpenDataSource("C:\\Users\\NAME\\Desktop\\Test2.txt", oMissing, oMissing, oMissing,
oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
oWrdDoc.MailMerge.Execute();
}
catch (Exception ex)
{
MessageBox.Show("Source:\t" + ex.Source + "\nMessage: \t" + ex.Message + "\nData:\t" + ex.Data);
}
finally
{
//
}
}
当我处理上面的我的应用程序实例时打开说我被锁定了文件,因为我自己正在使用它?在我接受打开只读副本后,我收到以下内容(按顺序):
选择如何替换上面的字段后:
原始邮件合并字段:
个人选择后:
如何告诉Word应用程序使用'!'字符作为我的C#代码中的字段分隔符?
另外,如何继续对话?由于我的数据源不包含与列为邮件合并字段的字段匹配的字段,我假设我收到了每个字段?
以下是我的邮件合并字段:
-fuldate -sys -memno -名称 -地址1 -地址2 -address3 -sal
以下是我的.txt DataSource文件中的分隔字段:
memno!名字!ADDR1!ADDR2!城市!状态!拉链!old_addr1!old_addr2!old_city!OLD_STATE!old_zip
答案 0 :(得分:0)
要解决此问题,我认为您需要创建3个合并字段:如下所示:
formLetterDatas=> MergeField1 [DUMMY_FIELD]
Data1 NULL
Data2 NULL
Data3 NULL
// Create a MailMerge Data file.
CreateMailMergeDataFile(tableHeader, formLetterDatas);