- ベストアンサー
VBAでEXCELのワークシートを削除時に警告メッセージをでないようにしたい。
ACCESSのVBAでEXCELのワークシートを削除時に警告メッセージをでないようにしたいのですが、 ネットを参考に下記のようにしたのですが、 Application.DisplayAlerts = False ActiveSheet.Delete Application.DisplayAlerts = True DisplayAlertsが反転してメソッドまたはデータメンバが見つかりません。とエラーメッセージがでます。 ご存知の方宜しくお願いします。
- みんなの回答 (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シートのブック場合は、エラーになると思います。
その他の回答 (2)
- nda23
- ベストアンサー率54% (777/1415)
Applicationは予約された組み込みオブジェクトで、Excelの場合は DisplayAlertsというプロパティがありますが、Accessのそれには 該当するプロパティはありません。よって、存在しないプロパティを 操作しようとしたので、エラーになります。 Excelのインスタンス(を持つ変数)に対して.DisplayAlertsを記述 してください。
お礼
ありがとうございます。 Application.DisplayAlerts = False Excelのインスタンス(を持つ変数)につけたらできました。 Wb.Application.DisplayAlerts = False
- tom11
- ベストアンサー率53% (134/251)
こんにちは、アクセスから、どうやって エクセルを呼び出しているのですか そこに、答えが、あると思います。
お礼
ありがとうございます。 xls.DisplayAlerts = False エクセルの変数にDisplayAlertsをつけるのですね。