背景:
我主要是一名 SAS 程序员(一种统计软件),但我正在使用 VBA 使 excel 与 SAS 很好地配合使用。我编写了一个程序,可以使用以下代码在 SAS 中执行:
*Batch Convert Excel files to CSV files;
%LET xlsfile=C:\xlsfile.csv;
%LET csvfile=C:\csvfile.csv;
%LET worksheet=1;
x 'cd "C:\location_of_vbsfile"';
x "vbsfile.vbs &xlsfile &worksheet &csvfile";
该程序打开一个 excel 文件,选择所需的工作表,替换逗号、回车和换行,然后将文件保存为 csv 文件,以便我可以很好地将文件导入 SAS。
问题:
我想消除任何可能产生的消息框。我在程序顶部添加了一个 Application.DisplayAlerts = False 以防止显示消息框。但是,我收到以下错误,所以一定有问题。
Error: Object required: 'DisplayAlerts'
这是我的代码:
'1 - Open Excel
Dim oExcel
Dim oBook
Set oExcel = CreateObject("Excel.Application")
'THIS IS WHAT I ADDED
Set oExcel.DisplayAlerts = False
Set oBook = oExcel.Workbooks.Open(Wscript.Arguments.Item(0))
xlSheet = Wscript.Arguments.Item(1)*1
'2 - Select Sheet
oBook.Worksheets(xlSheet).Select
'3 - Find and Replace
oBook.Worksheets(xlSheet).Cells.Replace ",", ""
oBook.Worksheets(xlSheet).Cells.Replace chr(13), ""
oBook.Worksheets(xlSheet).Cells.Replace chr(10), ""
'4 - Save
oBook.SaveAs WScript.Arguments.Item(2), 6
oBook.Close False
Set oExcel.DisplayAlerts = True
oExcel.Quit
有什么建议么?