You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何无法通过Access VBA运行Jupyter Notebook?

解决Access VBA调用Jupyter Notebook窗口闪退的问题

看起来你遇到的核心问题是直接用Python解释器(python.exe)运行.ipynb文件——这其实不是正确的打开方式,python.exe本身没法直接执行Jupyter Notebook格式的文件,这也是窗口闪退的主要原因。之前短暂能工作可能是环境临时有特殊关联(比如系统临时注册了nb文件的打开方式,但之后失效了),但本质上这个调用逻辑是有问题的。

下面给你几个可行的解决方案:

方案1:用jupyter nbconvert命令执行Notebook并导出结果

这是Jupyter官方推荐的批量/脚本化执行Notebook的方式,步骤如下:

  1. 修改你的VBA代码,调用conda环境里的jupyter.exe(注意路径要对应你的conda环境)
  2. 使用nbconvert命令指定执行Notebook,同时可以指定输出格式(比如html、pdf或者直接执行不保存输出)

修改后的VBA代码示例:

Sub import_hawk() 
    Dim objShell As Object 
    Dim JupyterExe, NotebookPath As String 
    Set objShell = VBA.CreateObject("Wscript.Shell") 
    ' 注意替换成你的conda环境里jupyter.exe的实际路径
    JupyterExe = """C:\Users\Philip\.conda\envs\latest\Scripts\jupyter.exe""" 
    NotebookPath = """C:\Users\Philip\OneDrive\Betting\Capra\Tennis\polgara\polgara.ipynb""" 
    ' --execute 参数表示执行Notebook,--inplace表示在原文件中保存执行结果(可选)
    objShell.Run JupyterExe & " nbconvert --execute " & NotebookPath & " --inplace", vbNormalFocus
End Sub
  • vbNormalFocus参数可以让命令窗口保持打开,方便你查看执行时的报错信息(之前闪退就是因为窗口自动关闭,看不到错误)

方案2:把Notebook转成.py脚本后调用

如果不需要保留Notebook的交互格式,可以先把.ipynb导出为.py文件:

  1. 打开你的polgara.ipynb,点击菜单栏的File > Download > Python (.py)
  2. 修改VBA代码直接调用python.exe执行这个.py脚本:
Sub import_hawk() 
    Dim objShell As Object 
    Dim PythonExe, PythonScript As String 
    Set objShell = VBA.CreateObject("Wscript.Shell") 
    PythonExe = """C:\Users\Philip\.conda\envs\latest\python.exe""" 
    PythonScript = """C:\Users\Philip\OneDrive\Betting\Capra\Tennis\polgara\polgara.py""" 
    ' 添加vbNormalFocus让窗口不闪退,方便看错误
    objShell.Run PythonExe & " " & PythonScript, vbNormalFocus
End Sub

排查问题的小技巧

如果还是有问题,先手动在命令行里执行对应的命令,看是否有报错:

  1. 打开cmd,激活你的conda环境:conda activate latest
  2. 执行jupyter命令:jupyter nbconvert --execute "C:\Users\Philip\OneDrive\Betting\Capra\Tennis\polgara\polgara.ipynb"
    这样能直接看到错误信息,比如依赖缺失、路径错误等,比VBA里闪退更容易排查。

内容的提问来源于stack exchange,提问作者Jossy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 10:37:37