当前位置: 首页 > 编程语言 > C#

使用C#填写Word docx中的docvariable分享

时间:2023-04-11 00:06:10 C#

C#学习教程:用C#在Worddocx中填写文档变量一个带有两个文档变量的docx文件:这里有一些文本....{docvariablereplace1}{docvariablereplace2}这里有更多文本...我首先创建了一个宏来执行它并且它有效:SubFillDocVariable()''FillDocVariableMacro''ActiveDocument.Variables("replace1").Value="这是一个测试"ActiveDocument.Variables("replace2").Value="这只是一个测试。"活动文档。Fields.UpdateEndSub这是我的C#代码(注意我正在学习这段代码):usingMicrosoft.Office.Interop.Word;objectparamMissing=Type.Missing;objectopenfileName=@"C:testingDocuments1.docx";ApplicationClassWordApplication=newApplicationClass();文档WordDocument=WordApplication.Documents.Open(refopenfileName,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,缺少refparam,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing);WordDocument.Variables("replace1")="这是一个测试";WordDocument.Variables("replace2").Value="这只是一个测试!";WordDocument.Fields.Update;这是我得到的错误:错误1??'Microsoft.Office.Interop.Word._Document.Variables'的不可调用成员不能像方法一样与块引用一起使用如果您感兴趣,可以通过VS2010和Word2010执行此操作它是这样工作的:Applicationapp=newApplication();文档doc=word.Documents.Add(filepath);doc.Variables["var_name"].Value=your_value_here;文档.Fields.Update();文档.保存();文档.Close();应用程序退出();我认为您错过了代码中的“.value”...WordDocument.Variables("replace1")="Thisisatest";应该写成:WordDocument.Variables("replace1").Value="Thisisatest";第一个猜测:WordDocument.Variables("replace1")→WordDocument.Variables["replace1"]。在MSDN中找到它后更新:显然,索引器是一个ref参数-请参阅MSDN。所以,你必须使用这样的变量:stringreplace="replace1";WordDocument.Variables[ref替换]=...;诡异的。或许这样的API设计是有原因的。此外,由于索引器没有定义setter,因此分配不起作用。您必须操作getter返回的Variable实例的内部结构。试试看:以上是C#学习教程:用C#填写Worddocx中docvariable共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——objectvariable1="Thisisatest";objectvariable2="这只是一个测试!";变量var1=WordDocument.Variables.Add("replace1",refvariable1);变量var2=WordDocument.Variables.Add("replace2",refvariable1);WordDocument.Fields.Update();本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: