首页 > 解决方案 > 从 R 运行 Vb 脚本

问题描述

我用这个tutrial。

https://www.listendata.com/2016/07/run-vba-in-r.html

我知道一点 R 但不知道 VBA。

我对第 1 步中的代码行有疑问:

Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.DisplayAlerts=False
Set wb = objExcel.Workbooks.Open("C:\Users\Deepanshu\Documents\example.xlsx")
Set Xlsheet = wb.Worksheets("PRDSALE")
Xlsheet.UsedRange.Borders.LineStyle = xlContinuous
Xlsheet.UsedRange.Borders.Color = RGB(0, 0, 0)
Xlsheet.UsedRange.Borders.Weight = xlThick
wb.save

如何使代码保存和关闭excel文件?因为现在当我在 r 中运行这些行时:

pathofvbscript = "C:\\Users\\Deepanshu\\Documents\\border.vbs"
shell(shQuote(normalizePath(pathofvbscript)), "cscript", flag = "//nologo")

excel 应用程序正在打开。如果我关闭它,则根本不会保存文件。我希望当excel根本没有打开时提交更改 - “幕后”。反正?

标签: rexcelvba

解决方案


您也可以使用教程的最后一步:VB 脚本:从 R 运行 Excel 宏,宏执行后将保存工作簿:

Set objExcel = CreateObject("Excel.Application") 
objExcel.Visible = True
objExcel.DisplayAlerts=False
Set wb = objExcel.Workbooks.Open("C:\Users\Deepanshu\Documents\Book1.xls")
objExcel.Application.Run "Book1.xls!macro1"
wb.save

Book1.xls!macro1在哪里workbookName!MacroName


推荐阅读