バックグラウンド:
私は主に 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
助言がありますか?