获取调用脚本的工作簿的位置

时间:2018-06-20 12:14:54

标签: python python-3.x excel-vba xlwings vba

我正在尝试使用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的位置。

1 个答案:

答案 0 :(得分:1)

xlwings.Book的绝对路径可以通过fullname属性获得,因此在您的情况下,wb.fullname

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

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

查看os.path的文档,了解其他许多有用的文件名功能。