gpt4 book ai didi

python - 如何从 Excel VBA 中运行 Python 命令?

转载 作者:太空宇宙 更新时间:2023-11-04 01:24:10 25 4
gpt4 key购买 nike

我正在努力从 Excel VBA(我熟悉)访问 Python。这里有一个非常有用的答案(转载如下)。我非常仔细地按照这些步骤操作 - 无论我使用的是 Python 3.3 还是 Python 2.7,都会出现同样的错误。

当我使用命令按钮执行 VBA 代码时,它在以下语句处失败: PyScript.Language = " python "错误消息“运行时错误 380:无法创建指定语言的脚本引擎”

有什么想法吗?

我尝试使用的来自 stackoverflow 的答案如下。

仔细按照这些步骤

  1. 转到 Activestate 并获取 [ActivePython 2.5.7][1] MSI 安装程序。
    我有 2.6.x 的 DLL hell 问题
  2. 安装在您的 Windows 机器上
  3. 安装完成后打开命令提示符并转到

    C:\Python25\lib\site-packages\win32comext\axscript\client

  4. 执行 \> python pyscript.py你应该看到消息 Registered: Python

  5. 转到 ms office excel 并打开工作表

  6. 转到“工具”>“宏”>“Visual Basic 编辑器”
  7. 添加对 Microsoft 脚本控件 的引用![alt text][2]
  8. 添加一个新的用户表单。在用户窗体中添加一个 CommandButton
  9. 切换到代码编辑器并插入以下代码

    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

执行。享受并根据需要扩展

最佳答案

我正在运行 32 位 Excel 2010 和 Anaconda Python 2.7。我完全按照规定的过程进行操作,只是为了简单起见,我没有创建用户表单或按钮,并从 dim 语句中删除了“WithEvents”,并将子公开(见下文)。使用 Alt-F8 从工作表运行宏,它没有问题。

我也在 E​​xcel 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

关于python - 如何从 Excel VBA 中运行 Python 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19195619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com