передача аргумента в VBA-функции xlwings RunPython - PullRequest
0 голосов
/ 16 января 2019

Я получаю некоторые данные из таблиц Excel, используя Python. Я использую xlwings для достижения этой цели. Я пытаюсь передать путь к текущей книге в мой файл, где он может использовать ее для поиска книги Excel. Я не могу использовать xlwings UDF.

Вот мой код VBA:

Sub Button1_Click()

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

End Sub

Вот мой код Python exceltest.py:

def excelTest(path_of_file):
    print (path_of_file)

Вот ошибка, которую я получаю:


Error

  File "<string>", line 1

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

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Мне нужно было использовать RunPython ("import exceltest; exceltest.excelTest(r'" & ThisWorkbook.FullName & "')")

0 голосов
/ 16 января 2019

Используйте полный путь к вашей книге (фактический путь вместо ThisWorkbook.FullName и структурируйте его следующим образом r'''myfullpath\mysubfolder\myExcelfile'''

...