2

背景:

我主要是一名 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

有什么建议么?

4

1 回答 1

3

不要在它之前使用“Set”。Set 用于实际对象。

只是:

oExcel.DisplayAlerts = True
于 2013-08-07T17:22:25.037 回答