Python Win32Com - ExportAsFixedFormat - MS Excel 2010 文件
Python Win32Com - ExportAsFixedFormat - MS Excel 2010 file
我花了一天的时间试图弄清楚如何将 MS Excel 文件导出为 PDF。我迫切需要比我聪明的人:
这是我目前的情况和我得到的错误:
import os
import win32com.client
import win32com.client.dynamic
import datetime
import time
#
#Path to Read from where you want all the files read from
InputWkbkPath = "O:/MIS/Reporting/Field Reports/2014_Template_Files/w_code/"
obj = win32com.client.Dispatch("Outlook.Application")
xlApp = win32com.client.DispatchEx('Excel.Application')
OutputWkbkPath ='O:/MIS/Reporting/Field Reports/2015_Template_Files/Directors /Templates/20150123_Archive/'
for subdir, dirs, files in os.walk(InputWkbkPath):
for file in files:
#print os.path.join(subdir, file)
ip= os.path.join(subdir, file)
xlwb= xlApp.Workbooks.Open(ip)
#print xlwb
currentyear = datetime.date.today().strftime("%Y")
currentmonth = datetime.date.today().strftime("%B")
currentday = datetime.date.today().strftime("%d")
currentdate = currentmonth+"-"+currentday+"-"+currentyear
participant = xlwb.Worksheets(1).Range("C4").Value
title = xlwb.Worksheets(1).Range("C5").Value
StaffCode = xlwb.Worksheets(1).Range("C6").Value
OfficeName = xlwb.Worksheets(1).Range("C7").Value
LOCode = xlwb.Worksheets(1).Range("C8").Value
Region = xlwb.Worksheets(1).Range("C9").Value
ESN = str(xlwb.Worksheets(1).Range("C10").Value)
ParticipantEmail= xlwb.Worksheets(1).Range("C11").Value
MDEmail= xlwb.Worksheets(1).Range("C12").Value
RVPEmail = xlwb.Worksheets(1).Range("C13").Value
if title == "Director" or title == "DIRECTOR":
FileName = LOCode+"_"+participant+"_"+ESN+"_Comp_Model_"+currentdate+".xlsx"
#print FileName
else:
FileName = Region+"_"+LOCode+"_"+participant+"_"+ESN+"_Comp_Model_"+currentdate+".pdf"
OutputFile=OutputWkbkPath+FileName
xlwb.Worksheets(1).Activate
#print OutputFile
ws=xlwb.Worksheets(1)
ws.Visible = 1
xlwb.ExportAsFixedFormat(Type="xlTypePDF",OutputFile)
xlwb.Close(True)
我收到以下错误:
C:\Python27\python.exe C:/Users/username/PycharmProjects/File_Names/Loop_Throug_Open.py
文件 "C:/Users/username/PycharmProjects/File_Names/Loop_Throug_Open.py",第 55 行
xlwb.ExportAsFixedFormat(类型="xlTypePDF",OutputFile)
SyntaxError:关键字 arg
之后的非关键字 arg
进程已完成,退出代码为 1
请帮忙。我在群里找不到。
提前谢谢。
罗伯特
问题出在 ExportAsFixedFormat 方法中:
我改成如下:
xlwb.ExportAsFixedFormat(0, 输出文件)
我还必须用双正斜杠放置路径。所以 outputWkbkPath 如下所示:
OutputWkbkPath ='O:\MIS/Reporting\Field Bonus Plan Reports\2015__Files\ DirectorsTemplates\20150123_Archive\'
我希望这对其他人有帮助。以下 post 实际上让我到达了那里:
.xlsx and xls(Latest Versions) to pdf using python
它不一样 package/module 但那部分有效。
我花了一天的时间试图弄清楚如何将 MS Excel 文件导出为 PDF。我迫切需要比我聪明的人:
这是我目前的情况和我得到的错误:
import os
import win32com.client
import win32com.client.dynamic
import datetime
import time
#
#Path to Read from where you want all the files read from
InputWkbkPath = "O:/MIS/Reporting/Field Reports/2014_Template_Files/w_code/"
obj = win32com.client.Dispatch("Outlook.Application")
xlApp = win32com.client.DispatchEx('Excel.Application')
OutputWkbkPath ='O:/MIS/Reporting/Field Reports/2015_Template_Files/Directors /Templates/20150123_Archive/'
for subdir, dirs, files in os.walk(InputWkbkPath):
for file in files:
#print os.path.join(subdir, file)
ip= os.path.join(subdir, file)
xlwb= xlApp.Workbooks.Open(ip)
#print xlwb
currentyear = datetime.date.today().strftime("%Y")
currentmonth = datetime.date.today().strftime("%B")
currentday = datetime.date.today().strftime("%d")
currentdate = currentmonth+"-"+currentday+"-"+currentyear
participant = xlwb.Worksheets(1).Range("C4").Value
title = xlwb.Worksheets(1).Range("C5").Value
StaffCode = xlwb.Worksheets(1).Range("C6").Value
OfficeName = xlwb.Worksheets(1).Range("C7").Value
LOCode = xlwb.Worksheets(1).Range("C8").Value
Region = xlwb.Worksheets(1).Range("C9").Value
ESN = str(xlwb.Worksheets(1).Range("C10").Value)
ParticipantEmail= xlwb.Worksheets(1).Range("C11").Value
MDEmail= xlwb.Worksheets(1).Range("C12").Value
RVPEmail = xlwb.Worksheets(1).Range("C13").Value
if title == "Director" or title == "DIRECTOR":
FileName = LOCode+"_"+participant+"_"+ESN+"_Comp_Model_"+currentdate+".xlsx"
#print FileName
else:
FileName = Region+"_"+LOCode+"_"+participant+"_"+ESN+"_Comp_Model_"+currentdate+".pdf"
OutputFile=OutputWkbkPath+FileName
xlwb.Worksheets(1).Activate
#print OutputFile
ws=xlwb.Worksheets(1)
ws.Visible = 1
xlwb.ExportAsFixedFormat(Type="xlTypePDF",OutputFile)
xlwb.Close(True)
我收到以下错误:
C:\Python27\python.exe C:/Users/username/PycharmProjects/File_Names/Loop_Throug_Open.py 文件 "C:/Users/username/PycharmProjects/File_Names/Loop_Throug_Open.py",第 55 行 xlwb.ExportAsFixedFormat(类型="xlTypePDF",OutputFile) SyntaxError:关键字 arg
之后的非关键字 arg进程已完成,退出代码为 1
请帮忙。我在群里找不到。
提前谢谢。
罗伯特
问题出在 ExportAsFixedFormat 方法中:
我改成如下: xlwb.ExportAsFixedFormat(0, 输出文件)
我还必须用双正斜杠放置路径。所以 outputWkbkPath 如下所示:
OutputWkbkPath ='O:\MIS/Reporting\Field Bonus Plan Reports\2015__Files\ DirectorsTemplates\20150123_Archive\'
我希望这对其他人有帮助。以下 post 实际上让我到达了那里:
.xlsx and xls(Latest Versions) to pdf using python
它不一样 package/module 但那部分有效。