我主要是一名SAS程序员(统计软件),但我正在使用VBA与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
有什么建议吗?
答案 0 :(得分:2)
不要使用" Set"在它之前。 Set用于实际对象。
只需:
oExcel.DisplayAlerts = True