是否可以将ShellAndWait与MS Word VBA一起使用?

是否可以将ShellAndWait与MS Word VBA一起使用?,shell,vba,ms-word,Shell,Vba,Ms Word,当尝试与MS Word VBA一起使用时,我得到XlEnableCancelKey的类型未定义错误。XlEnableCancelKey的Xl部分看起来可能是MS Excel类型 同时询问。使用代替XlEnableCancelKey 原因是,为word定义了不同的枚举类型,用于应用程序。EnableCancelKey 编辑:看过链接后,我看到了这一行。 Application.EnableCancelKey=xlErrorHandler 实际上,代码希望为EnableCancelKey使用枚举值

当尝试与MS Word VBA一起使用时,我得到XlEnableCancelKey的类型未定义错误。XlEnableCancelKey的Xl部分看起来可能是MS Excel类型

同时询问。

使用代替
XlEnableCancelKey

原因是,为word定义了不同的枚举类型,用于
应用程序。EnableCancelKey

编辑:看过链接后,我看到了这一行。
Application.EnableCancelKey=xlErrorHandler

实际上,代码希望为
EnableCancelKey
使用枚举值
因此,您可以使用代替
XlErrorHandler


在VBA项目中,添加对Microsoft Excel 12.0对象库的引用。

@shahkalpesh,谢谢!成功了。但现在我有了另一个未定义的变量XlerorHandler,用wdErrorHandler替换它并不能解决问题。@Geoffrey:请看更新后的答案。接受这个答案,如果它符合你的要求。谢谢在查看了MSDN库之后,我看到XlerorHandler是XlEnableCancelKey的枚举值之一。似乎没有与xlErrorHandler等效的WdEnableCancelkey枚举值。这似乎意味着ShellAndWait目前对MS Word并不真正有用。@Geoffrey:是的,'XlEnableCancelKey`enum有3个可以分配的值(
xlDisabled
xlErrorHandler
xlInterrupt
)。然而,
wdenablecancekey
有2个值(
wdCancelDisabled
wdCancelInterrupt
)。但是,您可以在调用
ShellAndWait
之前将
EnableCancelKey
设置为
wdCancelDisabled
,并将
EnableCancelKey
设置为
wdCancelInterrupt
。在这种情况下,它不会在shell操作运行时中断代码,我认为。@shahkalpesh,在VBA项目中,我刚刚添加了对Microsoft Excel 12.0对象库的引用,不再需要更改原始ShellAndWait代码。看看我的答案。