2015-07-23 6 views
-2

Я пытаюсь закончить программу, которая преобразует файлы excel в pdf в папку. У меня проблемы с именами файлов. Это то, что у меня есть до сих пор. Любая помощь в том, как ее завершить, будет оценена по достоинству.Преобразование файлов в папку в pdf

import win32com.client, types, pythoncom, sys, os, string 
xlApp = win32com.client.Dispatch("Excel.Application") 
for file in os.listdir("C:\Users\Desktop\ExcelFiles"): 
    if file.endswith(".xlsx"): 
     fileName = file 
     books = xlApp.Workbooks.Open("C:\Users\Desktop\ExcelFiles" + str(fileName)) 
     ws = books.Worksheets[0] 
     ws.Visible = 1 
     fileName.replace(".xlsx","") 
     ws.ExportAsFixedFormat(0, "C:\Users\Desktop\PDF\" + str(fileName) + ".pdf") 
+1

Не могли бы вы быть более конкретными, чем * «проблемы с именами файлов» *? Предоставьте [mcve] – jonrsharpe

+1

, возможно, вам нужно использовать необработанные строки 'r',' r 'C: \ Users \ Desktop \ PDF \ "+ str (fileName) +" .pdf "'? –

ответ

1

Я считаю, что проблема эта линия:

books = xlApp.Workbooks.Open("C:\Users\Desktop\ExcelFiles" + str(fileName)) 

Ваш, скорее всего, отсутствует слэш после ExcelFiles:

books = xlApp.Workbooks.Open("C:\Users\Desktop\ExcelFiles\" + str(fileName)) 

Python предоставляет кроссплатформенный os.path.join функции для случаев, таких как это. Он присоединится к строкам пути с правильной косой чертой:

filepath = os.path.join("C:\Users\Desktop\ExcelFiles", fileName) 
books = xlApp.Workbooks.Open(filepath) 

Надеюсь, что это поможет. Если это не ответ, вы хотите включить трассировку, которую вы получаете в своем вопросе выше. Прямо сейчас, информации недостаточно, чтобы ответить на ваш вопрос с уверенностью.

Смежные вопросы