電子書籍の厳選無料作品が豊富!

ACCESSのVBAでEXCELのワークシートを削除時に警告メッセージをでないようにしたいのですが、
ネットを参考に下記のようにしたのですが、
 Application.DisplayAlerts = False
 ActiveSheet.Delete
 Application.DisplayAlerts = True

DisplayAlertsが反転してメソッドまたはデータメンバが見つかりません。とエラーメッセージがでます。
ご存知の方宜しくお願いします。

A 回答 (3件)

こんなのはどうでしょうか?


Sub sample()
Dim xls As Object
Dim wb As Object
Set xls = CreateObject("Excel.Application")
'xls.Visible = True '表示する場合
Set wb = xls.Workbooks.Open("C:\Book1.xls")
xls.DisplayAlerts = False
wb.sheets("Sheet1").Delete
xls.DisplayAlerts = True
wb.Close savechanges:=True
xls.Quit
Set wb = Nothing
Set xls = Nothing
End Sub

p.s.
wb.sheets("Sheet1").Delete
の部分は
wb.sheets(1).Delete
とすれば、最初のシートになると思います。
ただし、全てのシートを削除する事は出来ないので、1シートのブック場合は、エラーになると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
xls.DisplayAlerts = False
エクセルの変数にDisplayAlertsをつけるのですね。

お礼日時:2009/05/08 08:58

Applicationは予約された組み込みオブジェクトで、Excelの場合は


DisplayAlertsというプロパティがありますが、Accessのそれには
該当するプロパティはありません。よって、存在しないプロパティを
操作しようとしたので、エラーになります。
Excelのインスタンス(を持つ変数)に対して.DisplayAlertsを記述
してください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
Application.DisplayAlerts = False
Excelのインスタンス(を持つ変数)につけたらできました。
Wb.Application.DisplayAlerts = False

お礼日時:2009/05/08 08:56

こんにちは、アクセスから、どうやって


エクセルを呼び出しているのですか

そこに、答えが、あると思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!