如何通过Powershell捕获Excel宏的错误消息?

时间:2019-08-19 01:27:11

标签: excel vba powershell

我正在像这样通过Powershell调用Excel宏。

PowerShell脚本:

try {
  $excel.Run("my-file.xlsm!ThisWorkbook.raiseError")
} catch {
  throw $_
}

Excel宏:

Public Sub raiseError()
  Call Err.Raise(1, "raiseError", "I want this message to be trapped!")
End Sub

我收到此消息:

+         $excel.Run("my-file.xlsm!ThisWorkbook.raiseError")
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], COMException
    + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException

此外,在此示例中,我还想捕获由宏"I want this message to be trapped!"引发的消息。我调查了$_的所有属性,但找不到此类消息。可以这样做吗?

0 个答案:

没有答案