みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

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

投稿日時 - 2009-05-07 18:43:01

QNo.4939287

すぐに回答ほしいです

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

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

投稿日時 - 2009-05-07 19:47:40

お礼

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

投稿日時 - 2009-05-08 08:58:37

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

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

投稿日時 - 2009-05-07 23:05:57

お礼

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

投稿日時 - 2009-05-08 08:56:43

ANo.1

こんにちは、アクセスから、どうやって
エクセルを呼び出しているのですか

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

投稿日時 - 2009-05-07 19:25:18

あなたにオススメの質問