有没有一种方法可以从Excel VBA宏向控制台打印消息? 我有一个小的VB .NET控制台应用程序,调用一个Excel宏,我希望宏代码中的错误消息能够打印到控制台。Debug.print不起作用,因为它只会打印到立即窗口。有什么想法吗?
我不得不使用Debug.Print(),因为Debug.Write()和Console.WriteLine()无法运行。
我发现在一个VB .NET工程和它调用的宏之间没有通信 - 宏无法访问VB的控制台,也无法抛出异常。如果宏中发生错误,VB .NET代码不会检测到该错误。 VB工程只是调用宏,它执行,然后工程继续运行,对宏中发生的事情一无所知。我解决这个问题的方法是让宏将错误写入Excel电子表格中的特定指定单元格,然后VB工程读取并使用它来确定是否有错误,如果有,则会将其写入控制台。这有点像欺骗性的修复,但它起作用了。感谢所有的建议!
Debug.WriteLine()
将调试信息输出到Visual Studio输出窗口,但我有一种不安的感觉,除非你正在编写控制台应用程序,否则你无法这样做。Console.SetOut()
方法将Console.WriteLine()
字符串重定向到StreamWriter,可以是计算机上的文件。虽然不是最理想的解决方案,但可能是可行的解决方案?Err.Raise
从宏中引发错误,并使用 Try Catch
块在 .Net 代码中处理它们,并将详细信息写入控制台。