问题标签 [word-field]

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

ms-word - 如何在 Word 中对 MERGEFIELD 进行子串化?

这个让我很疑惑。这似乎是一项简单的任务,但解决方案却让我望而却步: - 如何在用于邮件合并的 Word 模板中为合并字段设置子字符串?

例如,我有类似的东西{MERGEFIELD barcodevalue},我想提取前 6 个字符,因为它同时是其他东西的标识符。

我可以找到有关如何删除数字字段中给定位置左侧(\x)而不是右侧的字符的信息。

0 投票
1 回答
1503 浏览

sql - SQL 的 Word 邮件合并

自从数据库从 SQL2000 移动到 SQL2008 后,我遇到了一些性能问题。

我们需要从 SQL 视图中检索邮件合并和名为 FORMIC 的应用程序。

在 SQL 2000 下它很好,但现在非常非常慢。我注意到的一件事是 SQL Profiler 显示 Excel 执行了一个简单的“SELECT * FROM VIEW”,其中 Word 似乎做了更复杂的事情,并且正在使用游标检索记录(对于 6,000 多行最终需要几分钟才能检索)。

有没有人有办法解决这个问题?

0 投票
2 回答
2314 浏览

vba - 在 Word 中,如何使用 VBA 以编程方式更改邮件合并数据?

我有一个 Word 文档,用作邮件合并的源文档。我可以编辑文档,但不能编辑用于合并的数据。我需要转换数据源中的一些数据(具体来说,我需要取数字(例如 342)并将它们的值添加到单词中(例如“三百四十二(342)”))。我可以编写一个 VBA 函数来进行转换,但我不确定如何最好地将数据传递给该函数。

有什么方法可以将宏与文档中的特定点相关联,并让合并驱动转换过程?(我正在考虑如何在 Word 字段中使用公式;我已经{ IF { MERGEFIELD foo } > 75 { MERGEFIELD foo } { = { MERGEFIELD foo } * 20 } }在文档中有一些表单的东西。如果我可以添加一些东西以便我可以去{ FUNCTION WordNum { MERGEFIELD number } },那将是理想的。)

或者,我想我可以使用 VBA 在邮件合并的数据源(特别是document.MailMerge.DataSource)中翻找并重写字段。如果我走那条路,我应该在哪里执行宏,以便在从数据源读取数据之后但在与文档合并之前获取数据?

0 投票
2 回答
508 浏览

ms-word - 仅使用分隔字段名称的原始 MailMerge

显然,我们的应用程序基于模板生成 Word 文档的正确方法是鼓励管理员用户(他们将负责模板)在模板文档中嵌入正确的合并字段或书签。

然而,在过去,我们发现通常不使用 MailMerge 或 Word 中任何其他“高级”功能的典型管理员用户因不得不使用合并字段而被严重推迟。我们已经尝试为他们做这件事,制作文档,大量截图等。但这对他们来说都是“繁琐”的。

他们有几十个模板(都是不同类型的非常简单的字母),并且会想要合理地频繁地修改它们。

他们真正想要的是能够用一个简单的分隔符(如花括号)来标记字段,这有效地将自制的合并字段标记到我们的应用程序中(尽管 Word 忽略了它的重要性),如下所示:

亲爱的{客户姓氏}

然后我们可以用几行代码来获取字段,如下所示:

这感觉很粗糙,但非常简单(对于最终用户)。

有没有其他人走这条路?有什么问题吗?我们建议他们不要在文档的普通文本中的其他地方使用“{”和“}”字符,但这并不是一个真正的重大限制。

速度?将合并字段包装成两行?其他问题?

0 投票
1 回答
675 浏览

ms-word - Mailmerge 字段在 Word .docx 中的保存方式并不总是相同

我用 Word 2003 创建了一个 Word 文档,并通过 GUI 插入了一些 MergeField。我已使用Microsoft Office Compatibility Pack for Word、Excel 和 PowerPoint 2007 File Formats将其保存为 .docx 。一些 Mergefields 存储为 SimpleField,而另一些则存储为 FieldCode(带有 start-FieldChar 和 end-FieldChar)。一些谷歌搜索把我带到了这个博客。正如你所看到的,这个人也面临着同样的问题;但还没有找到解决办法。

我在 Codeplex [Fill Mergefields] 上使用以下代码示例将 MergeFields 替换为来自不同数据源的实际值。

欢迎任何帮助。

0 投票
2 回答
1279 浏览

vba - 在 MS Word 2007 中使用 VBA 定义页面元素?

我希望能够创建一个页面元素,我可以提供文本并将其自身形成首选布局。例如:

将其作为一个字段,输出应该是一行,前两个字符串具有一定的大小和字体,居中,另一行,然后是第三个字符串,字体,大小和居中。

我知道这有点像 TeX,可能超出了 VBA 的范围,但是如果有人知道它是如何可能的,请告诉!

编辑

好的,如果我将所需的信息放入关键字中,作为文档属性的一部分,并带有某种唯一的分隔符,那么就会获取该信息,并且该信息对于每个文档都是唯一的。下一个在要显示内容的地方放置一个书签。然后创建一个AutoOpen指向该书签的宏,从关键字中提取相关内容,并将文本适当地形成为书签的.Selection.

这可行吗?

0 投票
1 回答
1316 浏览

excel - Excel VBA - 将 MailMerge 发送到打印机

我想扩展与这个问题相关的功能。无论如何设置它以将其发送MailMerge到打印机而不是创建新文件?

0 投票
1 回答
1719 浏览

ms-word - 通过 OpenXML 删除 MailMerge 数据源

我有一些代码使用 Open XML 打开一个 .docx 文件,找到所有 MailMerge 字段,然后用数据替换它们(忽略可能已经提供的数据源)。

我最初针对在 Office 2007 中创建的文档对此进行了测试,它似乎工作得很好。

然后,我们在 2003 年基于 Excel 电子表格数据源创建了一个,并将其保存为 2007 .docx 格式。当我们打开由我的代码生成的文件时,Word 会警告用户它将执行一些 SQL,特别是SELECT * from 'Sheet1$'. 它有是/否的选项。选择需要我找到数据源。选择将我带到文档,这似乎是正确的。

我不知道为什么我现在看到这个弹出窗口。可能是因为 2003 年文档的数据源不同?

我希望有一种方法可以删除对任何数据源的所有引用,并且不会显示弹出窗口。我找到了这个,但它似乎不起作用。有什么建议么?

0 投票
5 回答
9790 浏览

ms-word - 在 MS Word 字段中显示日期差异

我有一份简历,希望在打开时自动更新我的年龄。那么,我应该在 MS Word 字段中插入什么公式?

就像是:

p>

0 投票
1 回答
2489 浏览

ms-word - MS Word:带有查询的邮件合并超链接获取带有 MERGEFIELD 的 URL 字符串

我正在尝试发送一封电子邮件,将一个文档(.docx)与联系人数据库(通过 OleDB)合并。使用 MS Word 2007,这似乎很容易(它适用于简单的事情:名称、地址等),但我找不到如何用超链接内的合并字段填充查询获取 URLD 字符串。

像这样的超链接:点击这里

我已经尝试过特殊/合并字段:

{HYPERLINK "http://domain.com/test.php?contact={MERGEFIELD contactEmail}" \o "Here"}

但它不起作用,有时它只合并第一条记录,然后发送具有相同地址的所有邮件,我得到了这个与ALT+F9.

这个支持文档对我不起作用,因为我的数据库中没有每个联系人的完整 URL,我无法更改表格的设计或添加视图(它来自 CRM),我没有t 喜欢导出表格并添加字段。

任何的想法?

提前致谢,