我正在尝试NetOffice使用模板执行MS Word邮件合并,并以编程方式填写合并字段。可用的示例here实际上没有这种情况。我在其中更新了示例03,以便它从具有合并字段的现有MS Word文档创建新文档。然后我使用以下代码更改它以访问合并字段:
var fields = newDocument.MailMerge.Fields;
foreach (Word.MailMergeField field in fields)
{
...
}
但for
循环在第一次尝试枚举字段时会出现此异常: Factory未使用NetOffice程序集初始化。如果我尝试运行调试,{{1返回文档中合并字段的正确计数。我似乎无法访问字段来填充/更新它们。
有没有人遇到过这个?
更新
在fields.Count
上运行调试,它无法从Core.cs
加载程序集,因此无法从该程序集中获取FactoryInfo,我认为它需要WordApi.dll
。我还没弄清楚为什么即使dll位于它正在搜索的文件夹中也无法加载程序集。
答案 0 :(得分:0)
我遇到的问题似乎是NetOffice的一个错误。该错误发生在CurrentAppDomain
类' LoadFrom()
。鉴于它正在接受程序集的完整文件路径(而不是程序集的完全限定名称),如果Assembly.LoadFrom(path)
为false,它应该执行LoadAssembliesUnsafe
。
我在github上报告了这个错误/问题。 Link here.