2017-03-03 183 views
-2

我想對使用xlwings腳本發送給我的CSV文件運行宏。因此,在每個新文件中存儲宏將是一個痛苦。無論如何要從其他工作簿運行腳本,或者直接將代碼直接發送到CSV文件?你可以在另一個excel表格中運行宏嗎?

編輯:我試過這樣做,如果這就是所有的downvotes是。但是,xlwings中的宏文檔和應用程序文檔似乎非常適用,您只能從活動工作簿中調用。因此,這個問題。

+0

但是,我需要通過Xlwings編碼環境來實現此操作。 – Kelly

+0

CSV文件不包含宏,它包含逗號分隔值 - 它是純文本文件,沒有格式或任何內容,只是數據。降價是因爲是/否問題完全無聊。你的回答可能是「是的,有一種方法」 - 如果你的*真實*問題是「mkay,那麼我該怎麼做?」那麼對於這個Q&A格式來說,它太寬泛了。你讀過[問]和[mcve]了嗎? –

+0

我知道前者,因此使用xlwings調用另一個文件並從那裏獲取宏。我不會把它稱爲廣泛的,它應該就像兩行來顯示#how將一個宏定義爲一個變量#how將這個變量作爲一個xlwings命令調用,我正在尋找像兩行。 – Kelly

回答

0

是的。

根據定義,您不能將宏代碼添加到CSV文件,以便選項不可用。

您可以在XLSM中編寫代碼。它會打開你的CSV,做任何必要的處理,然後以任何輸出格式保存輸出。

這應該讓你開始:

Dim CSVFile as Workbook 
Set CSVFile = Workbooks.Open("path\to\your\CSV\filename.csv") 

當你編碼時遇到具體問題,打開一個新的問題(如果先搜索不轉了一個答案),以解決這一問題。

+0

我認爲OP在尋找Python代碼,而不是VBA ......但問題是無論如何都是無關緊要的/太寬泛的。 –

+0

@ Mat'sMug VBA最初是標記的,它沒有在問題中指定。我看到CSV,並且只是假設了Excel,因爲這些日子是我的小世界。 – FreeMan

+0

@ Mat'sMug看,我_knew_一個Excel/VBA的答案是正確的!它說Excel就在這個問題本身的標題中! – FreeMan

相關問題