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

Excel宏调用D盘Python脚本,os.getcwd()返回C盘路径问题求助

问题解决:Excel宏调用Python脚本时os.getcwd()返回C盘而非D盘

问题根源

Excel宏执行时的默认工作目录并非Python脚本所在的D盘,而是Excel的默认启动路径(通常是C:\Users\<你的用户名>\Documents或系统默认目录)。Python脚本会继承这个工作目录,因此os.getcwd()返回的是Excel的工作目录,而非脚本所在的D盘路径。

解决方案

方案1:在Python脚本内部切换工作目录(推荐)

直接在脚本中获取自身所在路径并切换,无论调用时的工作目录是什么,都能确保os.getcwd()返回脚本所在的D盘路径:

import os

# 获取当前脚本的绝对路径所在目录
script_directory = os.path.dirname(os.path.abspath(__file__))
# 切换工作目录到脚本所在路径
os.chdir(script_directory)

# 此时执行os.getcwd()会返回D盘的脚本路径
print(os.getcwd())

方案2:在Excel VBA宏中先切换工作目录再调用脚本

修改VBA代码,先切换到Python脚本所在的D盘目录,再执行脚本:

Sub RunPythonScript()
    Dim scriptFullPath As String
    scriptFullPath = "D:\your_python_script.py" ' 替换为你的脚本完整路径
    
    ' 切换到脚本所在的D盘目录
    ChDir "D:\"
    
    ' 调用Python脚本,注意路径包含空格时要加双引号
    Shell "python """ & scriptFullPath & """", vbNormalFocus
End Sub

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 21:04:53