Pywin32处理word另存为


wordapp = win32com.client.gencache.EnsureDispatch("Word.Application")
try:
wordapp.Documents.Open('11.doc')
wordapp.ActiveDocument.SaveAs('11.html', FileFormat=win32com.client.constants.wdFormatFilteredHTML)
wordapp.ActiveDocument.Close()
finally:
wordapp.Quit()


office2007中所支持的格式:

wdFormatDocument = 0
wdFormatDocument97 = 0
wdFormatDocumentDefault = 16
wdFormatDOSText = 4
wdFormatDOSTextLineBreaks = 5
wdFormatEncodedText = 7
wdFormatFilteredHTML = 10
wdFormatFlatXML = 19
wdFormatFlatXMLMacroEnabled = 20
wdFormatFlatXMLTemplate = 21
wdFormatFlatXMLTemplateMacroEnabled = 22
wdFormatHTML = 8
wdFormatPDF = 17
wdFormatRTF = 6
wdFormatTemplate = 1
wdFormatTemplate97 = 1
wdFormatText = 2
wdFormatTextLineBreaks = 3
wdFormatUnicodeText = 7
wdFormatWebArchive = 9
wdFormatXML = 11
wdFormatXMLDocument = 12
wdFormatXMLDocumentMacroEnabled = 13
wdFormatXMLTemplate = 14
wdFormatXMLTemplateMacroEnabled = 15
wdFormatXPS = 18

单元格另存为,因为没找到部分另存为的vba代码,所以调用copy&paste曲线解决 :oops:

def saveCell(self, savePath, cell):
tmpDoc = cell.Application.Documents.Add()
#内容为空则End=Start,如果这时Copy则将会Copy到表格
if not cell.Range.Text[0:len(cell.Range.Text)-2] == '':#不成立时则保存空的doc文件
start = cell.Range.Start
end = cell.Range.End
if end>start:
cell.Range.Document.Range(cell.Range.Start, cell.Range.End-1).Copy()
else:
cell.Range.Document.Range(cell.Range.Start, cell.Range.End).Copy()
tmpDoc.Range(0, 0).Paste()

tmpDoc.SaveAs(sys.path[0]+os.sep+'HTML'+os.sep+savePath, FileFormat=win32.constants.wdFormatFilteredHTML)
tmpDoc.Close(SaveChanges=win32.constants.wdDoNotSaveChanges)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值