在VBScript中使用Microsoft.Office.Interop.Word枚举常量

时间:2014-01-28 22:15:23

标签: vbscript enums ms-office office-interop

鉴于此代码:

Set Word = CreateObject("Word.Application")
Set Edit = Word.Selection
Edit.style = "Heading 1"

我想使这个代码语言无关,并且提供了一个名为WdBuiltinStyle的枚举:

但是AFAIK VBScript没有枚举,所以失败了:

Set Word = CreateObject("Word.Application")
Set Edit = Word.Selection
Edit.style = WdBuiltinStyle.wdStyleHeading1

我可以在第一个链接上查看wdStyleHeading1的值为-2,这样就可以了:

Set Word = CreateObject("Word.Application")
Set Edit = Word.Selection
Edit.style = -2

所以问题是:

  • 我可以通过名称从VBScript访问枚举常量吗?
  • 对数值进行硬编码是否安全? (例如,它们是否会在其他Office版本中发生变化?)

1 个答案:

答案 0 :(得分:1)

如果记录了枚举值,您应该安全地使用它。微软以维持向后兼容性而着称。

VBScript不支持枚举常量,但您可以定义要在脚本中使用的常量。这是使用VBScript时的常规做法(请查看first example on this page)。即。

Const wdStyleHeading1 = -2
Const wdStyleNormal = -1

Set Word = CreateObject("Word.Application")
Set Edit = Word.Selection
Edit.Style = wdStyleHeading1