我正在努力从Excel VBA(我熟悉)访问Python。这里有一个非常有用的答案(转载如下)。我非常小心地遵循了这些步骤 - 无论我使用的是Python 3.3还是Python 2.7,都会出现同样的错误。
当我使用命令按钮执行VBA代码时,它在此语句中失败: PyScript.Language =“python” 错误消息“运行时错误380:无法创建指定语言的脚本引擎”
有什么想法吗?
我正在尝试使用stackoverflow的答案。
请仔细执行以下步骤
安装完成后打开命令提示符并转到
C:\ Python25 \ lib中\站点包\ win32comext \ axscript \客户端
执行\> python pyscript.py
你应该看到消息已注册:Python
转到ms office excel并打开工作表
切换到代码编辑器并插入以下代码
Dim WithEvents PyScript As MSScriptControl.ScriptControl
Private Sub CommandButton1_Click() If PyScript Is Nothing Then Set PyScript = New MSScriptControl.ScriptControl PyScript.Language = "python" PyScript.AddObject "Sheet", Workbooks(1).Sheets(1) PyScript.AllowUI = True End If PyScript.ExecuteStatement "Sheet.cells(1,1).value='Hello'" End Sub
执行。根据需要享受和扩展
答案 0 :(得分:3)
我正在运行32位Excel 2010和Anaconda Python 2.7。我完全按照规定执行了该程序,除了为了简单起见我没有创建用户表单或按钮,并删除了" WithEvents"从昏暗的声明,并使子公开(见下文)。使用Alt-F8从工作表运行宏,它没有问题。
我也在Excel 2013中测试过,没有问题。
Public Sub TestPyScript()
Dim PyScript As MSScriptControl.ScriptControl
If PyScript Is Nothing Then
Set PyScript = New MSScriptControl.ScriptControl
PyScript.Language = "python"
PyScript.AddObject "Sheet", Workbooks(1).Sheets(1)
PyScript.AllowUI = True
End If
PyScript.ExecuteStatement "Sheet.cells(1,1).value='Hello'"
End Sub