似乎在使用python創建工作簿時,宏不可用。即使我關閉,重新啓動,然後重新打開由python創建的文件,宏選項仍然缺失。但是,如果我手動創建excel文件,然後使用python代碼打開手動創建的excel文件,並運行它工作正常的宏。當使用Python創建工作簿時Excel宏不可用
提供的示例代碼,但似乎我可能在Excel或計算機(政府計算機,雖然我有管理員權限)內設置不當。我已經啓用了宏設置中的所有宏,回顧了本網站上的可用文獻,但仍然存在問題。
import win32com.client
xl = win32com.client.Dispatch("Excel.Application")
xl.Visible = True
wb = xl.Workbooks.Add()
ws = wb.Worksheets.Add()
cell = ws.Cells(1)
cell.Value = 'text'
wb.Close(True, r'c:\AcousticAutomation\TestFolder\TestData\test.xls')
當我手動打開'test.xls'時,在宏部分沒有可用的宏;因此,我沒有添加宏運行行,因爲代碼會崩潰。如果我轉換/重命名一個txt文件到CVS文件時
同樣的問題,再手動打開Excel中的CSV數據在那裏的時候,卻沒有宏選項avaialble:
os.rename('c:\..file path...\test.txt', 'c:\..file path..\test.csv')
但是,如果我手動創建文件並使用:
import win32com.client
xl = win32com.client.Dispatch("Excel.Application")
xl.Visible = True
wb = xl.WorkBooks.open(r'c:\..test file path..\test.xls’)
xl.Run(‘DeleteTopRows')
該宏已識別並正常工作。所以,我嘗試了多種創建工作簿的變體,但似乎只要使用python創建文件,宏就會「消失」,代碼會崩潰,因爲當時宏「不存在」。
什麼版本的Excel使用?另外,一般來說,.txt和.csv不能正確支持MS Excel宏。當然,不管文件名如何,如果文件內容格式正確,Excel可能會讀取/處理它。但沒有保證。 – selllikesybok
Using 2007.即使我使用python打開一個空白工作簿,將其關閉,然後手動打開該工作簿,這些宏不在那裏。似乎每當創建工作簿/文件時宏都消失了。在宏運行在python後,我還沒有嘗試保存手動創建的工作簿。我很好奇,如果該保存的文件中的宏也不再可用。 – Shea
如果你創建一個空白的工作簿,你爲什麼期望它有宏? – selllikesybok