我使用32位版本的Python 2.7和MS Access 2013运行Windows 7。
我在做什么?
我在MS Access VBA中运行以下shell
命令。它执行一个执行python脚本(.py文件)的批处理文件。包括Access数据库,批处理文件,python脚本(.py文件)和Python Anaconda安装在内的所有文件都位于网络驱动器上。
Public Function XYZ()
Call Shell("cmd /k""G:\foo network drive\xyz.bat"",vbNormalFocus")
End Function
我的问题是什么?
运行shell
命令时,屏幕上会弹出命令提示符。我可以在命令提示符下看到已从批处理文件中调用python脚本。但是python脚本开始运行大约需要15秒(我知道这是因为我从头到尾都有python脚本打印文本到控制台)。
有没有人知道为什么python脚本开始运行需要这么长时间?它使运行python脚本的过程慢得多。
编辑给定的评论
我现在使用下面的代码直接从Access VBA调用python。
Public Function XYZ()
ChDir ("G:\foo network drive")
Call Shell("cmd /k """"G:\foo network drive\Anaconda2\python.exe"" ""G:\foo network drive\bar.py""""")
End Function
不幸的是,一旦在屏幕上显示命令提示符,Python仍然需要大约15秒才能开始运行。
这可能是因为python需要时间来初始启动吗?有没有办法在运行VBA代码并在屏幕上显示命令提示符后立即开始运行python?