问题标签 [word-automation]

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 回答
417 浏览

c# - 订阅 Microsoft Word COM 事件

我正在编写代码以使用 C# 4.0 中的动态类型访问 MS Word 自动化 COM 接口。它工作得很好,而且很容易使用。

我不知道如何订阅事件。我想订阅Application::Quit事件。

这是我写的代码:

0 投票
1 回答
399 浏览

c++ - 为什么我释放最后一个 COM 接口后 MS Word 没有关闭?

我认为 COM 自动化对象在释放最后一个接口时会自行关闭。

但是,此代码打开然后释放 MS Word 的接口使 WINWORD.EXE 进程运行。我已经追踪了它,我知道它iUnkn->Release()正在被调用。

我在这里做错了什么?

0 投票
1 回答
3709 浏览

c# - C# Word 自动化:用文本替换图片

我正在编写一个软件,它需要用图像或文本替换图像。我找到了一些代码来用它工作正常的图像替换图像。我想调整这段代码,以便我也可以用文本替换图像。我知道有更好的方法可以做到这一点,但我特别需要使用 Interlope 来完成。任何帮助,将不胜感激。

0 投票
1 回答
412 浏览

c# - 检查 Word 是否已正确终止

我正在从 C# 中的 WPF 应用程序自动化 Word 文档。

在应用程序中,我创建了一个 Word 对象

我用

一切都整齐地放在 try/catch 语句中。由于Quit是最后一个可能出错的东西,所以我需要检查Quit语句是否成功,然后尝试以其他方式终止它,否则进程列表中会出现很多WinWord.exe。

有什么方法可以检查 Word 是否关闭或获取进程的 PID 并强制它从代码中终止?

0 投票
1 回答
1212 浏览

.net - 邮件合并,查询字符串返回不正确的记录集

我在 Word 2007 中遇到了与单词自动化\邮件合并、QueryString 命令和 SQL 语句相关的问题。

如果我使用 select 和 "=" 运算符,一切都会按预期工作。

如果我使用 select 和“LIKE”运算符,它不会:

看起来 Word 不理解“LIKE”运算符并跳过它。它返回表中的所有记录。

有没有办法在查询字符串中使用“like”?

更新:实际上,MailMerge.Execute 与 LIKE 语句一起正常工作。问题有点不同。系统中有一个地方我们显示 RecordCount (doc.MailMerge.DataSource.RecordCount),它返回不正确的值(它返回表中所有记录的计数)。因此,如果 LIKE 语句在 QueryString 中使用,Word 似乎无法确定记录数。

0 投票
2 回答
8081 浏览

java - 在 word 中查找一个表并使用 java 在该表中写入

我有一个可能有 n 个表格的 word 文档。该表由写在第一个单元格中作为标题的表名标识。现在我必须找到带有表名的表并在该表的一个单元格中写入。我尝试使用 apache-poi,但无法弄清楚如何将它用于我的目的。如果我无法解释文档的外观,请参阅随附的屏幕截图。

谢谢如屏幕截图所示,表格名称为 S1 和 S2

这是我尝试过的,但这仅读取第一个表。

0 投票
1 回答
487 浏览

c# - 替换在 TypeText 之后不起作用

我需要生成 doc(真正的 doc,而不是 docx)文件,我发现的“最佳”方式是使用 word 自动化(Word 2010)。我有我打开的文件,然后在将其保存为新名称之前替换其中的值。(例如:我将“CHRONO”替换为“155023”)。为此,我使用 Application.Selection.Find。当新值超过 255 个字符(微软的限制......)时,我遇到了问题。为了避免这个问题,我在这种情况下使用 TypeText。我现在的问题是一旦我使用 TypeText,替换不再起作用。我找不到原因。任何想法将不胜感激。

我的代码在一个函数中,在 foreach 中调用每个值来替换:

0 投票
1 回答
891 浏览

c# - word自动化服务生成文件后如何自动更新属性?

我使用 Open XML + Word Automation 从模板生成 word 文件并将其转换为 pdf。现在 Word 文档和生成的 PDF 都在同一个文档库中。word 文档有一些属性,这些属性是在创建/上传到库时添加的。

我现在尝试做的是在 PDF 生成后自动向它们添加属性。PDF 将具有与生成它的 Word 文档相同的属性。

起初我尝试使用事件接收器,但程序似乎没有识别出文档库中添加了一个新项目(生成的 PDF)。

然后我尝试使用工作流(SharePoint Designer),但它也不起作用(无法启动)。结果显示“工作流程 AddPDFData 已被系统帐户取消”和“ AddPDFData 无法启动”。工作流设置为在创建项目时开始。我知道工作流程本身是正确的,因为当我将其设置为在更改项目时启动时它工作正常。

请提出我是否可能做错的任何事情,或者是否有任何我可以使用的方法。任何想法/建议将不胜感激。

谢谢!

0 投票
2 回答
1682 浏览

c# - 如何以编程方式访问 Office Word 2010 中的“打印预览和打印”页面

我正在编写一个与 Microsoft Office Word 2010 相关的医疗程序(使用 C# 语言)。在 Word 2010 中有一个页面“打印预览和打印”,您可以通过按Ctrl+访问该页面P。启动 Office Word 后,我想查看“打印预览和打印”,但我看到的是 Office 2007/2003 的旧打印预览,这意味着我不知道如何从 office com 对象访问此页面。

我试过的代码:

0 投票
1 回答
1172 浏览

vb.net - 使用 word.interop 寻址表并添加复选框

我一直在使用 excel,但是我在 Word 自动化中遇到了一些问题/问题。我目前想动态格式化一个word文件。下面的代码应该打开一个现有文件并对同一页面上的两个不同表进行更改。

我想知道如何将插入菜单中的复选框动态添加到表格单元格中,或者更改表格单元格中已存在复选框的选中状态。感谢您的任何建议!它现在设置为写入文本值,但这是例如直到弄清楚..