亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 xlsxwriter,無法打開 Excel 文件。文件擴展名無效

使用 xlsxwriter,無法打開 Excel 文件。文件擴展名無效

森欄 2023-06-20 13:55:32
我試圖在使用 xlsxwriter 庫創建 Excel 文件時插入宏。該文件已創建,但在嘗試使用 Microsoft Excel 打開時,提示以下消息:Excel 無法打開文件,因為文件格式或文件擴展名無效。確認文件未損壞且文件擴展名與文件格式匹配。筆記:我在 Windows 10 上使用 Microsoft Office Excel 2007 (12.0.6425.1000) SP2 MSO 版本。使用 LibreOffice 打開很好,但單擊按鈕沒有任何響應(因為它無法讀取 VBA)。def action_macro_test(self):? ? ? ? workbook = xlsxwriter.Workbook("/home/user1/Desktop/macro_test.xlsm")? ? ? ? worksheet = workbook.add_worksheet("Sheet1")? ? ? ? worksheet.set_column('A:A', 30)? ? ? ? # Add the VBA project binary.? ? ? ? workbook.add_vba_project('./vbaProject.bin')? ? ? ? # Show text for the end user.? ? ? ? worksheet.write('A3', 'Press the button to say hello.')? ? ? ? # Add a button tied to a macro in the VBA project.? ? ? ? worksheet.insert_button('B3', {'macro':? ?'say_hello',? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'caption': 'Say Hello!',? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'width':? ?80,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'height':? 30})? ? ? ? workbook.close()
查看完整描述

3 回答

?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

我運行了你的代碼,只修改了路徑,它創建了一個按預期打開的文件:


import xlsxwriter


def action_macro_test(self):

        workbook = xlsxwriter.Workbook("macro_test.xlsm")

        worksheet = workbook.add_worksheet("Sheet1")


        worksheet.set_column('A:A', 30)


        # Add the VBA project binary.

        workbook.add_vba_project('./vbaProject.bin')


        # Show text for the end user.

        worksheet.write('A3', 'Press the button to say hello.')


        # Add a button tied to a macro in the VBA project.

        worksheet.insert_button('B3', {'macro':   'say_hello',

                                    'caption': 'Say Hello!',

                                    'width':   80,

                                    'height':  30})


        workbook.close()


action_macro_test(None)


輸出:

http://img1.sycdn.imooc.com//64913f7900012bd804580338.jpg

我使用了vbaProject.binXlsxWriter 發行版示例目錄中的文件,并使用幾個不同版本的 Excel 對其進行了測試。

可以,您可以嘗試macros.py發行版示例目錄中的示例,看看它是否適合您。之后確保您vbaProject.bin的示例中有一個有效文件。


查看完整回答
反對 回復 2023-06-20
?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

您使用宏創建了一個工作簿,但將其另存為.xlsx. Excel 不允許在.xlsx文件中使用宏。他們一定是.xlsm。



查看完整回答
反對 回復 2023-06-20
?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

原來是文件vbaProject.bin路徑設置不正確?,F在工作正常。抱歉誤報。謝謝您的幫助。



查看完整回答
反對 回復 2023-06-20
  • 3 回答
  • 0 關注
  • 392 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號