Я начинающий с Python (3.7). Я хочу манипулировать файлами Excel и VBA. Я использую Spyder 3.3.6 для написания и компиляции кода.
Я могу создать новый чистый лист Excel и выполнять операции VBA с нуля, однако, когда я пытаюсь открыть существующий пустой файл .xlsm, я получаю ошибка.
Блок кода, подобный этому, работает нормально:
import win32com.client
xl=win32com.client.Dispatch("Excel.Application")
xl.visible=True
xl1=xl.Workbooks.Add()
xls=xl1.Worksheets.Add()
Но следующий блок кода не работает, в частности последняя строка:
import win32com.client
xl=win32com.client.Dispatch("Excel.Application")
xl.visible=True
xl.Workbooks.Open(Filename="C:\Full\Location\test.xlsm")
Консоль вываливает все это (я понятия не имею, что это значит):
runfile('C:/Users/xxxx/Desktop/xxfolderxx/PythonScripts/xxfilenamexx.py', wdir='C:/Users/xxxx/Desktop/xxfolderxx/PythonScripts')
Traceback (most recent call last):
File "C:\Users\xxxx\AppData\Local\Continuum\anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3326, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-17-c4b027276514>", line 1, in <module>
runfile('C:/Users/xxxx/Desktop/xxfolderxx/PythonScripts/xxfilenamexx.py', wdir='C:/Users/xxxx/Desktop/xxfolderxx/PythonScripts')
File "C:\Users\xxxx\AppData\Local\Continuum\anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile
execfile(filename, namespace)
File "C:\Users\xxxx\AppData\Local\Continuum\anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/xxxx/Desktop/xxfolderxx/PythonScripts/xxfilenamexx.py", line 16
xl.Workbooks.Open(Filename="C:\Users\xxxx\Desktop\xxfolderxx\PythonScripts\test.xlsm")
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
Я также попробовал те же два блока кода в блокноте Jupyter. Те же результаты, тот же 'SyntaxError:'
РЕДАКТИРОВАТЬ: samutamm направил меня к решению, ты