Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9140 / 13646 ツリー ←次へ | 前へ→

【29053】保存確認メッセージを出さずにEXCELを終了 ネコ 05/9/22(木) 16:38 質問[未読]
【29055】Re:保存確認メッセージを出さずにEXCELを終... Jaka 05/9/22(木) 17:02 回答[未読]
【29056】もしかしてこれかな? Jaka 05/9/22(木) 17:14 回答[未読]
【29057】Re:もしかしてこれかな? ネコ 05/9/22(木) 18:00 発言[未読]
【29060】Re:もしかしてこれかな? りん 05/9/22(木) 19:17 発言[未読]
【29075】Re:もしかしてこれかな? ichinose 05/9/23(金) 8:28 発言[未読]
【29133】Re:もしかしてこれかな? ネコ 05/9/26(月) 9:28 発言[未読]
【29143】Re:もしかしてこれかな? ichinose 05/9/26(月) 17:23 発言[未読]

【29053】保存確認メッセージを出さずにEXCELを終了
質問  ネコ  - 05/9/22(木) 16:38 -

引用なし
パスワード
   こんにちは

保存確認メッセージを出さずにEXCELを終了させたいのですが、

Application.DisplayAlerts = False

ThisWorkbook.Saved = True
では、シートにTextBoxなどを置いて、その内容を変更した時に
確認メッセージが出てしまいます。(EXCELのセルに対しての変更は通る)
これを解消したいのですが、何か方法はないでしょうか?

ThisWorkbook.Close saveChanges:=False
を使用したのですが、これだとブックのみで、EXCELが閉じてくれません・・・

どうかご存知の方がいましたらお願いします。

【29055】Re:保存確認メッセージを出さずにEXCELを...
回答  Jaka  - 05/9/22(木) 17:02 -

引用なし
パスワード
   こんにちは。

全体がわからないので、どういったことなのか良く解ってませんけど...。
一応動いてますが...。by97SR2

Sub syuuryou()
ThisWorkbook.Saved = True
Application.Quit
End Sub

***********
標準モジュール
Sub syuuryou()
Application.Quit
End Sub

Thisworkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
End Sub

【29056】もしかしてこれかな?
回答  Jaka  - 05/9/22(木) 17:14 -

引用なし
パスワード
   On error resume next の類があったら外してみてください。

[XL2000]テキストボックスにフォーカスした状態でCloseメソッドを実行するとエラー
http://support.microsoft.com/default.aspx?scid=kb;ja;418779

【29057】Re:もしかしてこれかな?
発言  ネコ  - 05/9/22(木) 18:00 -

引用なし
パスワード
   返信ありがとうございます。

▼Jaka さん:
>On error resume next の類があったら外してみてください。
>
>[XL2000]テキストボックスにフォーカスした状態でCloseメソッドを実行するとエラー
>http://support.microsoft.com/default.aspx?scid=kb;ja;418779

この現象とは少し違う現象ですね・・・
エラーはでないので。

EXCELの×ボタンを押した時に保存しずに終了させたいのです。
EXCELのバージョンは2000ですので、多少は関係あるかもしれませんので、
もう少し調べてみます。

17:02分の返信で書かれていたコードと私の書いたコードはほぼ一緒です。
その状態で、SheetにTextボックスを置いて、その内容を書き換えた後に
終了すると、保存の確認メッセージが出てしまいます。

【29060】Re:もしかしてこれかな?
発言  りん E-MAIL  - 05/9/22(木) 19:17 -

引用なし
パスワード
   ネコ さん、こんばんわ。

>EXCELの×ボタンを押した時に保存しずに終了させたいのです。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Application.DisplayAlerts = False
  Application.Quit
End Sub

 とりあえずこれでメッセージなしで閉じましたが、同時にいくつか開いてるときはまとめて消えるので注意が必要です(Win98SE & XL2000)。

【29075】Re:もしかしてこれかな?
発言  ichinose  - 05/9/23(金) 8:28 -

引用なし
パスワード
   皆さん、おはようございます。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Application.Quit
  ThisWorkbook.Saved = True
End Sub

beforecloseイベントで上記のコードでもOKでした。
Win98&Excel2000で確認。

【29133】Re:もしかしてこれかな?
発言  ネコ  - 05/9/26(月) 9:28 -

引用なし
パスワード
   皆さん、おはようございます。

返信が遅くなってしまって申し訳ありません。

皆さんに教えていただいたコードも試してみたのですけれども、
シートのセルに対しての変更では出なくなったのですが、
セルに置いてあるTextBoxに変更をかけると、確認メッセージが
出てしまいます。
バージョンの問題なのでしょうか?

WindowsXP
EXCEL2000

を使用しています。

【29143】Re:もしかしてこれかな?
発言  ichinose  - 05/9/26(月) 17:23 -

引用なし
パスワード
   ▼ネコ さん:
こんばんは。

>皆さんに教えていただいたコードも試してみたのですけれども、
>シートのセルに対しての変更では出なくなったのですが、
>セルに置いてあるTextBoxに変更をかけると、確認メッセージが
>出てしまいます。
>バージョンの問題なのでしょうか?
>
>WindowsXP
>EXCEL2000
前回の私の投稿は
Win98&Excel2000(SP-3)
Win98&Excel2000(SR-1)
で確認しました。

再度の確認をお願いできますか?
何の確認かと言うと現在のところ私とネコ さんの環境の違いは
Windowsの違いに見えますが、これが本当にこれだけの違いかの確認です。

私が確認した手順は、

1. 新規ブックの任意のシートに
   「コントロールツールボックス」のテキストボックス(Textbox1)を貼付けます。

2. Thisworkbookのモジュールに前回投稿のコード


'============================================
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Application.Quit
  ThisWorkbook.Saved = True
End Sub

 を記述します。

3. 適当な名前で一度保存して、一度Excelを閉じます。


4. 再度、当該ブックを開いてテキストボックスに何か入力します。

5. ここでExcelを閉じるxボタン(外側のボタン)をクリックする。

この手順で実行した場合、ネコ さんの希望どおり、何のメッセージも表示されずに
Excelが終了します。

尚、上記の手順中、当該ブック以外の開いているブックはありません。

これで再度試してみて下さい。

手順が同じで動作が違うなら、Windowsの違いが影響している事も
当然考えられますよね!!

9140 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free