Python与VBA之间的通信

问题描述 投票:0回答:1

我尝试用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 循环或运行时出错
  • 要解决第二个问题,可以实现初始化错误处理,但上次很混乱

对于如何处理此类沟通,更专业的方式是什么?

python vba communication
1个回答
0
投票

你能完成这个项目吗?我正在尝试做像您上面提到的那样的事情,但到目前为止还没有成功。

如果您能够为 vba 和 python 之间的通信问题找到一个好的答案,如果您与我分享,我将非常感激。

© www.soinside.com 2019 - 2024. All rights reserved.