问题标签 [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 回答
287 浏览

ms-word - VSTO Word Office 互操作:查找对书签的引用

给定 Word 中的选择,其中包含一个Bookmark- 例如这样的标题(这是在SelectionChange事件内部):

如何Type == WdFieldType.wdFieldRef在引用此书签的文档中找到所有交叉引用(即 )?

我不仅想找到Fields 本身,还想找到包含这些字段的段落。

在 C# 或 VB 中寻找答案。

我可以循环/迭代文档中的所有引用,但没有办法将它们链接到书签(除了Code属性 - 但从我所见,书签上实际上并不存在 REF 编号)。它缺少的是某种形式的Target属性,我可以将其与书签本身进行比较。

0 投票
1 回答
221 浏览

c# - C# Word vsto Add in 仅获取可见屏幕的文本

我正在尝试从活动文档 MS word 的当前可见屏幕(页面)中获取文本和范围。

我尝试了下面的代码,该代码适用于新文档。

这是我使用过的本地 mwthod

当我打开保存的文档并尝试获取可见区域文本时出现问题。那时 每次都ActiveWindow.RangeFromPoint(x,y)返回 for r1:range 0,0)和 for r2: range 1,1)(如上所列)。

谁能帮我解决这个问题?

0 投票
2 回答
370 浏览

ms-word - Word VSTO 加载项:在屏幕上获取工作区坐标/矩形

使用 VSTO Word 互操作库,如何获得主“工作区”的屏幕坐标/矩形?即Left,和。Top_WidthHeight

这张图片很好地显示了我正在寻找的区域,突出显示为“显示”——即包含文档的面板/滚动查看器。

工作区可视化

我遇到了这个答案Range,它显示了一种与s 和自身有关的好方法Window,但是在挖掘Window/ActiveWindowView之后ActivePane,我找不到任何能让我更接近我正在寻找的“工作区”的属性。

C# 或 VBA 中的解决方案/方法会很棒。

0 投票
1 回答
91 浏览

c# - MS Word AddIn Catch 文档缩放更改

我正在开发 word VSTO 插件,并且当用户通过更改 word 文档右下角的滑块或使用键盘和鼠标更改缩放级别时,我试图检测事件。但我没有成功。

当用户在 word 活动文档中更改缩放级别(缩小/缩小)时,是否有任何方法可以触发或检测事件。

如果有人对此有任何想法或任何替代方案,请提出建议。

谢谢。

0 投票
1 回答
320 浏览

c# - 在 microsoft graph 中是否有互操作的替代方法?

我目前正在使用互操作自动更新单词模板,然后将其转换为 pdf。

我遇到了许多链接,这些链接说微软不建议使用互操作来自动化任何类型的办公室工作,因为它可能表现不正常。

我面临着类似的问题,这就是为什么我正在寻找更好的替代方法来更新 docx。自动文件,然后将其转换为pdf。

我在 microsoft graph 中搜索了相同的内容,但只发现文档可以由用户编辑。如果我错过了什么,请帮助我。

提前致谢。

0 投票
1 回答
166 浏览

ms-word - 从 Word 互操作字段对象中获取引用的文本

我正在使用 Word 互操作来构建 Word 插件。在这个插件中,我有一个案例,我想检查文档中的所有 Field 对象,并且当该字段是对同一文档中另一个位置的交叉引用时,我需要能够捕获该字段所在段落中的文本指。

我能够获取字段对象的名称,但文档中没有定义书签,尽管在 Word 中我可以单击该字段以到达其他位置。

示例字段 示例字段

示例字段作为代码 示例字段作为代码

我需要得到的参考文本 我需要得到的参考文本

未定义书签对象 未定义书签对象

我试图通过在其上调用 DoClick() 来模拟用户单击该字段,然后我访问了 V_V_Scalar_Document_Generic.Application.Selection.Range.Text 但它什么也没给出。我也尝试了下面的 GoTo 方法,但仍然没有达到引用的文本。

0 投票
1 回答
118 浏览

c# - 如何使用 C# 在 Word 中的 Word 自动更正选项中找到“键入时替换文本”

我正在尝试检查“单词替换文本列表”中是否存在“CU”一词。我在 interop.Excel 和 VBA 中发现,我们有 AutoCorrect.ReplacementList。但在 interop.Word 中不是。

所以我的问题是如何通过 C# 检查 Word 替换列表中是否存在“CU”。感谢您的收看。 在此处输入图像描述

0 投票
0 回答
185 浏览

c# - 如何打开带有损坏数据的word文档?

我正在尝试创建一个 C# .net 窗口应用程序,功能是打开 Word 文档并在 Word 文档包含无效链接并通过异常时面临问题。请找到以下错误: Message=Invalid Hyperlink: Malformed URI 作为超链接嵌入到文档中。

0 投票
0 回答
22 浏览

c# - 互操作字 - 将合并域插入到范围的末尾

我有这段代码可以将字段和单词插入一个范围;

上面代码的输出是;

我想要的输出是;

如何使第二个字段插入到范围的末尾而不是开头?

0 投票
0 回答
1234 浏览

c# - 由于以下错误,Microsoft.Office.Interop.Word 检索具有 CLSID 的组件的 COM 类工厂失败:访问被拒绝

在尝试创建新的 Microsoft.Office.Interop.Word.Application 的实例时,我收到如下错误。

由于以下错误,检索具有 CLSID {000209FF-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:80070005 访问被拒绝。(来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))。

我已经尝试过Microsoft Office Interop Error中建议的解决方案,还注意到 StackOverflow问题没有答案。

我已经安装了用于 Office 运行时(vstor_redist)的主要互操作程序集可再发行组件和Visual Studio 2010 工具。