对Word VBA中的WdPasteOptions枚举感到困惑

时间:2019-09-24 16:43:30

标签: vba ms-word word-vba

我正在使用Word 2013。

WdPasteOptions枚举包含以下内容:

wdKeepSourceFormatting 0 Keeps formatting from the source document.
wdMatchDestinationFormatting 1 Matches formatting to the destination document.
wdKeepTextOnly 2 Keeps text only, without formatting.
wdUseDestinationStyles 3 Matches formatting to the destination document using styles for formatting.

这些用于四个粘贴选项:

PasteFormatWithinDocument
PasteFormatBetweenDocuments
PasteFormatBetweenStyledDocuments
PasteFormatFromExternalSource

Word中的对话框为所有四个选项都包括“合并格式”选项,但是枚举中没有与之匹配的名称。经过检查,“合并格式”选项的值为1,对应于wdMatchDestinationFormatting。

最简单的解释是Word现在称为“合并格式”的内容曾经是“匹配目标格式”。一个不太合理的解释是Word更改了选项,因此“合并格式”不仅具有不同的名称,而且其行为与“匹配目标格式”不同。

有人知道这两个是指相同的功能还是不同的功能?

1 个答案:

答案 0 :(得分:1)

没有人可以肯定地说,但是...

据我所知,“合并格式”将与匹配目标格式相同。这是Word的原始设计默认值,以便更轻松地将来自不同来源的文档合并到一个“连贯的”文档中。

FWIW我怀疑这四个对象模型枚举是否与UI命令完全匹配。我认为您还需要将“选择性粘贴”选项放到组合中,以更接近整个频谱。

在为引入事物的版本确定Word UI之前,将编写对象模型命令-因此,UI中的命令很可能与对象模型对应部分的名称不匹配。

此外,Microsoft可能会决定稍后在UI中更改命令的标题。出于向后兼容性的原因,将更改对象模型相应部分的名称。这意味着在早期版本中可用的代码将继续在较新版本中运行。