2017-01-10 15 views
1

アクセスする必要があるデータを持つファイルがxlsx形式で生成されていますが、私の目的に合わせてxls形式にする必要があります。Python/Excel:プログラムでOffice Excel互換性チェッカーを無効にする

win32com.clientを使用してファイルを開くことはできますが、xlsx - > xls形式からフォーマット/機能が失われたことを通知する互換性チェッカーのダイアログポップアップによって保存が完全に完了できません。

ここでは、現在私が実行として、ファイルを保存することはできませんコードだが、ダイアログを閉じることを待ってハングアップ、任意の助けもいただければ幸いです。

excel = win32com.client.Dispatch('Excel.Application') 
excel.DisplayAlerts = False 

in_file = u"C:\\Path\\to\\infile\\infile.xlsx" 
out_file = u"C:\\Path\\to\\outfile\\outfile.xls" 

wb = excel.Workbooks.Open(in_file) 

wb.CheckCompatibility = False 
wb.DoNotPromptForConvert = True 

wb.SaveAs(out_file, FileFormat=56) #Execution hangs here 
wb.Close() 
excel.Quit() 

私は、他の同様の記事を見てきましたこのスクリプトで既に設定したメソッドと属性について言及してください。私はまた、= 0

+0

Microsoft Excel 2010 * –

答えて

0

UPDATEは:使用してこの問題を解決し、このExcel Add-In参考

:値は、内部ネットワーク上で毎日リセットされていたが働いていたレジストリ値を変更したIレジストリ値を自分で編集することができないと、管理者権限を持っていないので、上記の解決策が私の問題を解決した唯一のものでした。

2

MSDNon Workbook.DoNotPromptForConvert property言いShowCompatDialogに私のレジストリ値を変更した: 「真のワークブックを変換するようにユーザーに促すために、それ以外の場合はfalse」。あなたのコード内

書き込み:

wb.DoNotPromptForConvert = False 
+0

この変更にもかかわらずエラーは持続します。他のアイデア? –

関連する問題