Python 和 VBA 之间的通信

问题描述

我尝试在 VBA 中设计一个程序(在模拟软件中使用),它能够调用 Python 进行一些计算并接收结果以继续进行。 VBA-Python 调用会发生很多次。

我的第一个想法是基于文本文件通信,例如像这样:

in VBA:
do something

write text file 'calc_todo.txt' in specific directory

while not exists 'calc_finished.txt':
    wait 1 second

read 'calc_finished.txt'

delete'calc_finished.txt'

delete'calc_todo.txt'

do something

write text file 'calc_todo.txt' in specific directory

... repeat



in Python:
do something

while not exists 'calc_todo.txt':
    wait 1 second

read 'calc_todo.txt'

do calculations based on 'calc_todo.txt'

write 'calc_finished.txt'

delete'calc_todo.txt'

do something

while not exists 'calc_todo.txt':
    wait 1 second

... repeat

我过去做过类似的事情,不幸的是有很多我不喜欢的事情:

  • 固定等待时间,例如1 秒可能会降低性能
  • 如果 VBA 和/或 Python 出现问题,将卡在 while 循环中或运行出错
  • 为了解决第二个问题,可以实现初始化的错误处理,但上次是一团糟

关于如何处理这种沟通,有什么更专业的方式?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)