Tag: ms word

更新单词Ref:Microsoft.Office.Interop.Word

你好, 我使用Microsoft.Office.Interop.Word库自动将文本填充到Word模板表单(.dotx)。 当我用文本填写表单时,我使用MS Word书签,如下所示: object oBookMark = “Bookmark-To-Find”; doc.FormFields.get_Item(ref oBookMark).Result = Value-To-Insert; 这没有任何问题, 问题是当我向书签添加MS Word引用时。 引用就在那里,所以我不需要在同一文档中填写相同的信息100次。 创建文档时,需要手动更新MS Word Reference。 有没有什么办法解决这一问题? 问题:我可以使用c#代码更新所有引用吗? 有没有更好的方法来做到这一点?

在MS-Word文档中查找多个字符串并突出显示这些字符串

假设我必须在MS-Word文档中搜索多个字符串。 我想将多个关键字传递给word api,我需要api将通过MS-word打开该doc或docx文件,如果在我提供的ms-word文件中找到,则突出显示这些单词。 在这里,我得到了ms-word文件中突出显示单词的示例代码,但我找到的例程可能不会突出显示多个单词。 另一个问题我注意到,当它突出显示文件并打开然后它工作正常,但当我关闭ms字时,它要求保存更改。 我明白这个例程会修改文件以制作我不想要的高光。 我希望该例程将突出显示但不会修改doc文件….有没有办法做到这一点。 请指导。 谢谢 using Word = Microsoft.Office.Interop.Word; private void btnFind_Click(object sender, EventArgs e) { object fileName = “audi.doc”; //The filepath goes here string textToFind = “test1,test2,test3”; //The text to find goes here Word.Application word = new Word.Application(); Word.Document doc = new Word.Document(); object missing = System.Type.Missing; try { doc […]

将Word文档转换为C#中的JPEG文件

我想将word文件[3或4页文档]的内容转换为C#中的JPEG文件。 我尝试过使用剪贴板选项,但它只转换第一页。 请帮我。

从数据库或WebService打开WORD文档

如果没有就这样做的优点进行大讨论,是否有人可以提供使用VSTO应用程序级别AddIn(Word 2007)从数据库或Web服务中获取MS Word文档的方向? 谢谢 雅各 你在暗示吗? 用于文档的PC / AddIn查询服务器 服务器将文档返回到PC / AddIn PC / AddIn在本地保存文档(作为临时文件) PC / AddIn使用单词“打开文档”function在本地打开文件 然后 PC / AddIn在本地保存这些文件 PC / AddIn将文件上传回服务器 这听起来并不那么难……事实上,这种解决方案具有一定程度的简单性,使编写/调试变得容易。 使用上述方法作为WebDAV的替代方案有什么优势? 显然webDav是露天使用的…… 但是另一个问题是,单词是否具有在其API中从流中打开文档的function? Ť

使用XML文件中的数据/基于模板将XML转换为Word文档生成Word文档(docx)

我有一个XML文件,其中包含我需要在Word文档中填充的数据。 我需要找到一种方法,定义一个模板,该模板可以用作从XML文件填充数据并创建输出文档的基线。 我相信有两种方法可以做到这一点。 创建一个将成为“模板”的XSLT文件,并使用它来与XML文件一起使用它生成Word文档。 使用Word中的内容控件来创建模板文档,并以某种方式映射到XML文件。 我只是不知道如何实现这两种方式的细节。 或者不确定是否有另一种更简单的方法来完成此任务。 有人可以举例说明如何实现这一点。 只是一个简单的例子就足够了。 对于任何编码,我更喜欢C#。 我正在使用Word 2016,但希望它从Word 2007到Word 2016兼容,如果可能的话,因为用户将使用这些版本。 谢谢!

自动更正文本C#Word

我正在尝试使用word来自动纠正一些不是英文的文本问题是当我使用拼写检查function弹出“拼写和语法”对话框并等待用户输入时我希望文本是自动纠正。 所以我的问题是如何解决这个问题? using System.Collections.Generic; using Microsoft.Office.Interop.Word; using Word = Microsoft.Office.Interop.Word; using TobyCL.ro.toby.StringOperations; namespace namespace.ro.toby { class WordProofing:IProof { private readonly Word.Application _wordApp; private readonly Word.Document _wordDoc; private static object _oEndOfDoc = “\\endofdoc”; public WordProofing() { _wordApp = new Word.Application {Visible = false}; _wordDoc = _wordApp.Documents.Add(); } public void Close() { object obj = Word.WdSaveOptions.wdDoNotSaveChanges; _wordDoc.Close(ref […]

将interop对象的Word转换为byte 而不保存物理

我在内存中使用Microsoft.Office.Interop和Microsoft.Office.Word以及所有创建的,段落,表格等创建了一个对象。 我需要这个对象生成一个内容byte []来为表中的一个相同类型的字段提供信息。 我无法以任何方式使用oDoc.Save(“path”)以任何方式保存它以便使用FileStream并解决我的问题。 尝试了几种解决方案以及如何使用剪贴板,并没有奏效。 有解决方案吗

以编程方式将OpenXml文档保存为以前的版本(Word 2007)

我有一些代码可以创建一个要在MS Word中查看的文档。 一些XML通过XSLT运行,然后添加到OpenXML文档中。 生成的文档在Word 2010中看起来很好,但不会在Word 2007中打开,我需要能够支持。 如何创建有效的Word 2007文档? 使用Open XML Format SDK 2.0(版本2.0.5022.0) using DocumentFormat.OpenXml; using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Wordprocessing; … using (WordprocessingDocument package = WordprocessingDocument.Create(outputPath, WordprocessingDocumentType.Document)) { package.AddMainDocumentPart(); MainDocumentPart mainPart = package.MainDocumentPart; mainPart.Document = new DocumentFormat.OpenXml.Wordprocessing.Document(); // code … XML translation and append to document package.MainDocumentPart.Document.Save(); } 。 这篇文章有一些有用的信息: Word 2010和Word 2007之间存在差异,它们遵循OOXML标准的不同版本。 您很可能已包含在Word 2010中有效但Word 2007无法处理的内容。 […]

使用C#邮件合并(Excel到Word)

我想知道是否有人知道如何使用Excel文件作为数据源进行邮件合并,以填写Word模板上的字段? 如果可以的话,我希望使用interop for Word …但是在找到代码时遇到一些困难。 有没有人有这方面的语法? 先感谢您。

文件系统钩子.doc打开C#

我正在编写一个应用程序,需要通知每个打开的doc文件,我尝试过使用FileSystemWatcher但现在看来NotifyFilter 。 由于开销很大, LastAccess被禁用。 我想我可以使用LastWrite ,但这意味着我需要尝试从打开文档时该单词创建的临时文件中找出原始文件名。 我还需要密切关注4个目录,所以理想情况下我不想对它们进行轮询。 我知道我可以写一个WordAddin ,这是一个选项,但这意味着另一个部署管理,另一个代码库和另一个产品,以支持许多用户总是看到插件作为减速源的问题。 是否有一种简单的方法可以告诉Windows Vista我想知道有关已打开的doc或docx? 我想知道的一件事是,我是否可以将与.doc相关联的默认程序更改为我的,这是作为服务运行,然后将详细信息传递给我,以便打开? 这看起来有点像黑客,所以我想知道是否有一种简单的方法来挂钩这些类型的文件打开? UPDATE 从这里与各种人交谈,最可靠的方式(和大多数资源有效)似乎是替换.doc的现有文件关联。 &.docx到我自己的程序,然后使用Microsoft.Office.Interop.Word启动word,然后挂钩到DocumentOpen事件。 这样我就可以获得正在打开的文件名以及任何未来的文档。