• ベストアンサー

VBAでEXCELのワークシートを削除時に警告メッセージをでないようにしたい。

ACCESSのVBAでEXCELのワークシートを削除時に警告メッセージをでないようにしたいのですが、 ネットを参考に下記のようにしたのですが、  Application.DisplayAlerts = False  ActiveSheet.Delete  Application.DisplayAlerts = True DisplayAlertsが反転してメソッドまたはデータメンバが見つかりません。とエラーメッセージがでます。 ご存知の方宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hotosys
  • ベストアンサー率67% (97/143)
回答No.2

こんなのはどうでしょうか? 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シートのブック場合は、エラーになると思います。

UKUJIMA
質問者

お礼

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

その他の回答 (2)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.3

Applicationは予約された組み込みオブジェクトで、Excelの場合は DisplayAlertsというプロパティがありますが、Accessのそれには 該当するプロパティはありません。よって、存在しないプロパティを 操作しようとしたので、エラーになります。 Excelのインスタンス(を持つ変数)に対して.DisplayAlertsを記述 してください。

UKUJIMA
質問者

お礼

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

  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

こんにちは、アクセスから、どうやって エクセルを呼び出しているのですか そこに、答えが、あると思います。

関連するQ&A