如果您使用 VBScript 自动化 MS Office 应用程序(并使用 VBA 示例代码作为起点),您可能会忽略定义 wd*、xl* 或 ad(?)* 常量的必要性,这些常量在 VBA 中预定义,但在VB脚本。使用 Docs 和/或 Debug 输出添加如下行:
Const wdNoProtection = <correct value>
到你的脚本。
如果你开始你的脚本,Option Explicit
或者完全避免邪恶的全局On Error Resume Next
,或者至少在程序被测试之前禁用它,你就不会错过任何这些野兽。
更好的方法是将脚本编写为 .wsf 文件。标签“<reference>
包含”定义(因此您不能因为不正确的 Const 行而受到指责)。
POC/演示代码:
<?xml version="1.0" standalone="yes" encoding="iso-8859-1" ?>
<package>
<job id="QEC">
<reference object="Excel.Sheet" reference="true"/>
<script language="VBScript">
<![CDATA[
' ############################################################################
a = inputbox ( "Name of an Excel Constant?" )
msgbox a & " = " & eval(a)
' ############################################################################
]]>
</script>
</job>
</package>