我必須管理涉及R腳本和的工作流程VBA-code。我想在R(我的大部分代碼都在其中)中運行該過程,然后不時地調用VBA-code特定的計算。我會為R中的VBA準備輸入,將結果寫在某個地方(.csv,數據庫),然后在R腳本的其余部分中使用結果。最好當然是將整個代碼移到R中,但目前尚不可能。該VBA-code是相當復雜的。將其轉換為R將是一項艱巨的長期任務。在R中是否有可能管理這樣的工作流程?
3 回答

慕容森
TA貢獻1853條經驗 獲得超18個贊
編寫一個調用您的VBA的VBscript包裝器。請參閱從命令行或批處理文件運行Excel宏的方法?
通過R system或shell函數運行VBscript

縹緲止盈
TA貢獻2041條經驗 獲得超4個贊
這是不需要VBscript包裝器的方法。您需要安裝該RDCOMClient軟件包
library(RDCOMClient)
# Open a specific workbook in Excel:
xlApp <- COMCreate("Excel.Application")
xlWbk <- xlApp$Workbooks()$Open("C:\\Temp\\macro_template.xlsm")
# this line of code might be necessary if you want to see your spreadsheet:
xlApp[['Visible']] <- TRUE
# Run the macro called "MyMacro":
xlApp$Run("MyMacro")
# Close the workbook and quit the app:
xlWbk$Close(FALSE)
xlApp$Quit()
# Release resources:
rm(xlWbk, xlApp)
gc()
- 3 回答
- 0 關注
- 652 瀏覽
添加回答
舉報
0/150
提交
取消