3

私はPythonを使用してExcelファイルを開き、いくつかの変更を加えてから、それを保存する必要があります。保存部分以外はすべて完了できます。Pythonにファイルを保存させるにはどうすればよいですか。手動で保存すると、ポップアップボックスが表示され、[保存]をクリックできますが、手動で[保存]をクリックする必要はありません。Pythonに保存してExcelを閉じてほしい。私は助けが必要です、これは私が持っているものです。しかし、それは機能しません。保存することはできますが、閉じることはできませんか????

 import win32com.client
 import os


 xl = win32com.client.DispatchEx("Excel.Application")
 xl.workbooks.open("C:\file.xlsm")
 xl.run("file.xlsm!macro")
 xl.Visible = True
 xl.save = true
 xl.close
4

2 に答える 2

6

ブックオブジェクトへのフックを取得し、引数としてsaveをcloseメソッドに適用する必要があります。

xl = win32com.client.DispatchEx("Excel.Application")
wb = xl.workbooks.open("C:\file.xlsm")
xl.run("file.xlsm!macro")
xl.Visible = True
wb.Close(SaveChanges=1)
xl.Quit()
于 2012-07-24T01:44:35.960 に答える
0

同じ問題があり、さらに数式の値を取得すると、これが私が行ったことです(この部分は、数式を別の場所から配置し、Excelスプレッドシートを保存した後です):

     import win32com.client as win

     xl=win.Dispatch('Excel.Application') 
     wb = xl.Workbooks.Open('filepath')
     xl.Visible = True
     wb.Close(SAVE_ATTRIBUTE_VALUES)
     xl.Quit()

次に、スプ​​レッドシートを開くか、電話をかけると、次のようになります。

     wb = openpyxl.load_workbook('filepath', data_only=True)
     ws = wb.get_sheet_by_name('Sheet1')
     print ws['A1'].value

数式を使用してロードされたものの値が得られますが、いくつか追加する必要がある場合があります

    time.sleep(sek) 

値がロードされるのを待ってから閉じる

于 2016-09-07T14:35:05.123 に答える