小编Ege*_*lem的帖子

如何在excel vba上调用python脚本?

试图在Vba上调用python脚本,我是一个新手.我尝试使用py2exe将主脚本转换为exe,然后从VBA(shell)调用它,但主脚本调用其他脚本,因此它变得复杂,我搞砸了(我的exe不起作用).此外,主脚本是一个大文件,我不想修改它.

Bottomline,有没有办法从excel vba调用主脚本,而不将脚本转换为exe文件.

到目前为止,我尝试过:

RetVal = Shell("C:\python27\python.exe " & "import " & "C:\\" & "MainScriptFile")
Run Code Online (Sandbox Code Playgroud)

它启动python.exe但没有做任何其他事情.然后我尝试了:

RetVal = Shell("C:\Windows\System32\cmd.exe " & "python " & "C:\\Python27\\hello.py")
Run Code Online (Sandbox Code Playgroud)

它启动命令提示符,但甚至不启动python.

PS我在论坛上检查了所有相关问题,他们没有解决我的问题.

python shell vba py2exe excel-vba

25
推荐指数
3
解决办法
8万
查看次数

无法运行宏...此工作簿中可能无法使用该宏

我试图在不同的工作表上调用一个子,但我得到一个运行时错误消息.

具体来说,我在这些工作表中有两个工作表和多个VBA子.在其中一个VBA项目(比如workbook1.xlsm)中,我有以下代码:

Sub AnalysisTableMacro()
Workbooks("Python solution macro.xlsm").Activate
Application.Run "Python solution macro.xlsm!.PreparetheTables"
End Sub
Run Code Online (Sandbox Code Playgroud)

但是我得到了以下错误.两个工作表上的宏都已启用.在两个工作表中,subs都在Module1中.

无法运行宏'Workbook.xlsm!PrepareTheTables'.宏可能不在>此工作簿中可用,或者可能禁用所有宏.

我也试过Application.Run "Python solution macro.xlsm!Module1.PreparetheTables"但没有奏效.

excel vba

23
推荐指数
7
解决办法
30万
查看次数

在python脚本中调用python脚本

我试图在另一个python脚本中调用python脚本.目录是不同的.我试过了

import subprocess
subprocess.call("C:\temp\hello2.py", shell=True)
Run Code Online (Sandbox Code Playgroud)

但什么也没得到.这是行不通的.我回顾了很多论坛,但是当两个脚本都在同一个目录上时,它们都是关于调用它的.

我尝试在同一目录中同时使用这两个脚本.在这种情况下,我可以在Python.exe(通过cmd窗口)中运行模型,但不能在IDLE中运行.在IDLE中,我甚至没有收到错误消息.

我真的需要这样做,这样我就无法将其他脚本定义为不同的模块等.我需要在另一个脚本中调用脚本.

python subprocess call

0
推荐指数
1
解决办法
216
查看次数

标签 统计

python ×2

vba ×2

call ×1

excel ×1

excel-vba ×1

py2exe ×1

shell ×1

subprocess ×1