是否可以将ShellAndWait与MS Word VBA一起使用?
当尝试与MS Word VBA一起使用时,我得到XlEnableCancelKey的类型未定义错误。XlEnableCancelKey的Xl部分看起来可能是MS Excel类型 同时询问。使用代替是否可以将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使用枚举值
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代码。看看我的答案。