xlwings RunPython VBA函数中传递参数

时间:2019-01-16 19:07:42

标签: python-3.x vba xlwings

我正在使用python从excel表中获取一些数据。我正在使用xlwings完成此操作。我正在尝试将当前工作簿的路径传递到我的文件,在这里它可以使用它来查找Excel簿。我不能使用xlwings UDF。

这是我的VBA代码:

Sub Button1_Click()

    RunPython ("import exceltest; exceltest.excelTest('" & ThisWorkbook.FullName & "')")

End Sub

这是我的exceltest.py Python代码:

def excelTest(path_of_file):
    print (path_of_file)

这是我遇到的错误:


错误

  File "<string>", line 1

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

使用工作簿的完整路径(而不是ThisWorkbook.FullName的实际路径,并像这样r'''myfullpath\mysubfolder\myExcelfile'''

答案 1 :(得分:0)

我需要使用RunPython ("import exceltest; exceltest.excelTest(r'" & ThisWorkbook.FullName & "')")