问题标签 [word-interop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
173 浏览

c# - 如何浏览 MSWord 文档中 msoGroup 形状中的项目?

我正在为 Word 2010 编写 VSTO。我想检查 msoGroup 形状中的形状,但未能获得组中的形状。这是我的尝试:

如何解决问题?

0 投票
1 回答
56 浏览

c# - 尝试在 C# 中的表格单元格上写入时出错

我正在尝试在Visual Studio C#的帮助下创建一个包含表格和一些文本的自定义 Word 文档

这是我的代码。

这是创建 Word 文档的经典方法,由 MSDN 提供。
当涉及到这一行newTable.Cell(0, 1).Range.Text = "Olivero SRL";所以当我尝试在我的第一个表格单元格中插入一些值时,我收到以下错误

远程过程调用失败。(来自 HRESULT 的异常:0x800706BE)

在互联网上搜索,我发现只有一般修复,但与 c# 或编码相比没有。

0 投票
1 回答
279 浏览

c# - Interop.Word 上 Find.Execute 的正确语法是什么?

我在使用时遇到问题Microsoft.Office.Interop.Word- 尝试通过格式设计更改执行查找和替换。
这里最令人沮丧的是我没有收到错误,只是 Word 应用程序卡住了。
我正在检查如何使用Find.ExecuteInterop Word因为它需要通过Object- 我无法弄清楚这样做的正确方法是什么,我在探索这个问题时发现了不同的方法。
让我们假设我有这种代码:

现在我正在执行这样的查找和替换功能:

现在我的问题是如何以FindAndReplaceWithFormating正确和最合适的方法制作此功能。为此,我有 3 种不同的方法:

方法一:

方法二:

方法2b:

方法三:

0 投票
0 回答
38 浏览

c# - C# Excel Word Interop - 识别正在激活的范围

我正在研究如何使用 C# Excel Interop 识别 excel 中的哪个范围正在激活。

我正在使用 office interop 将粘贴表从 word 复制到 excel。粘贴后,我注意到某些范围正在选择/激活(就像您在 excel 中手动复制粘贴一样)。在转到下一个粘贴之前,我想在该范围内进行一些进一步的处理。

我用谷歌搜索了很多,但没有相关的答案。他们总是展示如何激活一个范围......

这里有人知道我该怎么做吗?

太感谢了。

此致,

0 投票
1 回答
128 浏览

c# - ASP.NET:修改和下载 docx 文件

我有一个 docx 文件,我想根据网络用户输入进行修改。所以,用户在网页上提交表单后,我需要修改原来的docx文件,然后下载给用户。

我尝试将原始文件作为资源文件存储在我的项目中,但我无法以编程方式打开它。这就是我在后控制器中尝试过的:

但是我收到了一个System.Runtime.InteropServices.COMException (0x80020005 (DISP_E_TYPEMISMATCH))

我也不知道如何下载修改后的文件。在一个简单的控制台应用程序document.SaveAs2(newPath);中工作,但它似乎不适用于下载。

(我什至不确定这整个方式是否可行。如果我不能使用Microsoft.Office.Interop.Word这种方式,请告诉我。)

0 投票
0 回答
56 浏览

vb.net - 突出显示 Word 文件中的文本 - 文本在表格中时的不同行为

我在我的 vb.net VSTO 中设计并构建了一个算法,可以将任何文本分解成句子。语言专家使用它来确定文本的可读性(我也在自动化可读性分析)。我不依赖通配符查找,因为它太有限了。该算法必须处理引用的文本(即使是较大句子的一部分)、列表和标题。

到目前为止,一切都很好。该算法按预期工作。

我认为通过突出显示文档中的各种文本以颜色显示“将文本分解为句子”算法的结果是有用的。这样做我遇到了 Word 的行为不一致(在 Win10 上使用 Office 2016 Professional 32 位)。在我设计解决方案之前,我想分享一下,看看是否有人可以提供更多见解。我错过了什么吗?

  1. 在 table 之外,我可以将范围设置为任何文本,然后设置 .HighlightColorIndex 属性,颜色会更改并在 Word 编辑器中可见。

  2. 在表格单元格内,只要文本后面没有段落标记(vbCr)(我的范围内不包括vbCr),它的工作原理相同。在这种情况下,当 .HighlightColorIndex 更改(在调试器中确认)时,Word 编辑器中的颜色不会明显更改。只有当我在我的范围中包含段落标记时它才有效。在不需要的表之外。

这是一个示例的屏幕截图。 离开如果没有段落标记,它是如何工作的。 如果有以下情况会发生什么:

基本代码流(部分非代码),为清楚起见带有一些附加注释

0 投票
0 回答
29 浏览

c# - 如何在 Word 文档中“标记”一段文本,以便使用 Interop.Word 轻松删除它

我有一个用于发送电子邮件和数字签名的 Word 文档。用于数字签名时,应删除文档中的一段文本。

我如何(在 Word 中)“标记”此部分 - 在通过电子邮件发送文档时它不可见 - 以便我可以使用 Microsoft.Office.Interop.Word 找到并删除它?

多谢你们。

0 投票
0 回答
115 浏览

asp.net-mvc - 使用 Interop 将 Word 文档保存为 pdf 会导致 COMException:命令失败

我有一个 ASP.NET MVC 应用程序,该应用程序池配置为作为自定义身份帐户运行,例如 MyDomain\MyUser。

从 word docx 文件创建 pdf 文件时遇到问题:尝试将文件另存为 pdf 到应用程序文件夹中的临时文件夹时出现“COMException 命令失败”:C:\inetpub\wwwroot\MyAspNetMvcApp\Data\Documents \温度

我已将应用程序池自定义身份帐户 (MyDomain\MyUser) 添加到具有完全控制权限的应用程序文件夹中,但它不起作用,无法将 pdf 保存到应用程序文件夹中。

我已经使用服务器上的进程监视器对其进行了调试,以处理来自应用程序文件夹的传入文件系统事件,并且我可以看到,当使用 Interop 提供的 SaveAs2 方法时,服务器上的 WINWORD.EXE 被调用/执行,但使用的是域用户帐户登录客户端计算机而不是使用应用程序池自定义身份帐户 (MyDomain\MyUser),因此当尝试将新的 pdf 文件写入 C:\inetpub\wwwroot\MyAspNetMvcApp\Data\Documents\Temp 时出现异常“COMException 命令failed" 被抛出,因为它无权在那里写入。

我已将身份设置为 Microsoft Word DCOM 组件的“交互式用户”。

由于应用程序池自定义身份帐户有权写入该应用程序文件夹,我如何使用应用程序池自定义身份帐户强制执行 Interop SaveAs2 方法?

代码片段下方:

0 投票
1 回答
88 浏览

c# - 如何使用 Word Interop 识别 Word 文档中每一页的最后一段?

我正在创建一个 C# 程序,它对几个 Word 文档进行一些自动更改。其中一个要求是当以下段落在下一页时,将标题移至下一页。

下图举例说明了我的描述:

在此处输入图像描述

一开始我确实尝试识别段落集合中的标题(可以使用有关标题样式的信息),因为我认为可以获取有关其在当前页面中的位置的信息。经过一些尝试,我认为这种方法不会成功。

我认为这其中的关键点是:

如何识别标题是否在页面的最后一行。但是,我不知道这是否可行。

我将不胜感激有关如何实现这一目标的任何建议。

谢谢

0 投票
1 回答
770 浏览

c# - 从 ASP.NET MVC 应用程序将 docx 转换为 pdf

我正在尝试将 docx 从 ASP.NET MVC 应用程序转换为 pdf 文件。直到现在我一直在使用 Microsoft interop saveas 命令,但有时(并非总是)失败并显示错误“命令失败”。我已经看到它已经被 Microsoft 弃用并且不再支持,Microsoft 表示不建议再从 ASP.NET 应用程序中使用它,因此我正在尝试获得替代方案。

我看到有一个很好的,就是 aspose.words 但它不是免费的。我对免费的感兴趣。那么,现在是否有任何与 Microsoft docx 文档兼容并且能够毫无问题地转换为 pdf 的免费替代品?