首页 > 解决方案 > 获取调用脚本的工作簿的位置

问题描述

我正在尝试使用 Excel 从 Excel 执行以下 Python 脚本

Sub MacrosTrigger()
    RunPython ("import MacrosTrigger")
End Sub

MacrosTrigger.py 包含以下示例代码

import os
import pandas as pd
import glob
import matplotlib.pyplot as plt
import matplotlib
import xlwings as xw
matplotlib.rcParams['figure.figsize'] = (18.0, 5.0)
wb = xw.Book.caller()
cwd = os.getcwd()
wb.sheets[0].range('A1').value = cwd
os.chdir('C:\\Users\\HegdeP\\Desktop\\Python Data Analysis\\PST')

os.getcwd() 返回 Python 解释器的位置。出于自动化目的,我希望能够返回调用脚本的工作簿的位置。即 wb 的位置。

标签: pythonpython-3.xexcelxlwingsvba

解决方案


an 的绝对路径xlwings.Book可以通过fullname属性获得,所以在你的情况下wb.fullname.

在您所说的评论中,您仅指的是文件夹名称。在这种情况下,使用

foldername = os.path.split(wb.fullname)[0]

查看文档以os.path了解许多其他有用的函数来处理文件名。


推荐阅读