• ベストアンサー

Excel: 複数開いているときの[x]ボタンによる終了

Wendy02の回答

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

こんばんは。#5です。 >なんだかうまく書けません. いいえ、お話は、良く分かりました。「ワード」と比較という言葉で、イメージが沸きました。この前、同じ質問のときに、けんもほろろに書いてしまったので、もう少し、反省の気持ちもあって、今回、書かせていただきました。(人間って勝手なものですね m(__)m ;) つまり、以下のようなマクロでないと、おっしゃるようにはできない、ということにもなります。 好んで書いているわけではありませんが、基本的な仕様の問題になると、どうしても、こんな風になってしまうのですね。 でも、『ワード』とどうして違うのでしょうね。 #5 では簡単に書いたものの、試行錯誤してしまいました。結果は、以下のようなものですが、この手のものって、見かけは簡単ですが、意外に他人が思うよりも、難しいのですね。(以下は試行錯誤の結果です。) 以下は、個人用マクロブック(PERSONAL.XLS) に登録します。 記録マクロで、登録先を、「個人用マクロブック(PERSONAL.XLS)」にすると、自動的に、「個人用マクロブック」が作られます。作ったら、最初に開いた場所は、たぶん、「標準モジュール」です。何かができてしまってたら、全部削除してしまってください。余計なものは不要です。次に、メニューから、挿入-クラスモジュールで、白いペイン(VBコードを書く場所)を開きます。 出来上がったら、Project(PERSONAL.XLS) というところを、本当に簡単なプロテクトをしてあげると、余計なトラブルにならなくてすみます。理由は、VBE を開けると、その部分のマクロが開いて、つい、いじったりしてしまうからです。(なお難しいパスワードは、お勧めしません。) なお、ツール-マクロ-セキュリティ-信頼する発行元 □組み込み済みのアドインとテンプレートをすべて信頼する にチェックを入れてある限りは、「高」の状態でも働きます。 必ず、PERSONAL.XLS を一旦、保存して、Excelを終了して、再び立ち上げると、設定が為されているはずです。なお、十分な検査はされていませんから、お使いになるようでしたら、しばらく、使って様子をみてください。 ---------------------------------------------- 'Class モジュール(Class1) Public WithEvents myApp As Application Private Sub Class_Terminate()  Set myApp = Nothing End Sub Private Sub myApp_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean) Dim w As Workbook On Error Resume Next Application.EnableEvents = False If Wb.Name <> ThisWorkbook.Name And myApp.Workbooks.Count > 2 Then   Cancel = True   myApp.ActiveWorkbook.Close End If Application.EnableEvents = True End Sub '-------------------------------------------------- '標準モジュール Public myClass As Class1 Sub Auto_Open() Set myClass = New Class1   Set myClass.myApp = Excel.Application End Sub

関連するQ&A

  • Excel2010で複数ブックを一度に閉じる方法

    Excel2010で複数ブックを一度に閉じる方法 数人で別々に編集したExcelのシートを一つのブックにまとめて提出することが多いのですが、その際、画面上には7つほどのブックが開きます。いままで使っていたExcel2003では右上の「×」ボタンをクリックし、出てくるダイアログボックスの中の「すべて変更」をクリックするなどで一気にすべてのファイルを閉じることができましたが、Excel2010のデフォルトでは同じ手順とはなっていないようです。 「ファイル」タブの「終了」をクリックすることで同様のダイアログが出てきますが、少し手間です。 ボタン1クリックなどですべてのブックを閉じるようにはできないのでしょうか。

  • EXCELの終了を×ボタン1つで終了したい

    Excel2007を使っています。 終了する際、以前使っていた2003では、右上の×ボタンの上の方(アプリケーション)をクリックすれば終了できたのですが、2007ではウィンドウは閉じますが、アプリケーションは残ったままで、終了できません。 もう一度×ボタンをクリックすれば、終了するのですが、一回で終了するにはどう設定すればいいのでしょうか。 ちなみに、Officeボタンから「Excelのオプション」-「詳細設定」-「表示」で、「すべてのウィンドウをタスクバーに表示する」のチェックを外すと、×ボタン一回のクリックで終了することはできます。 ですが、すべてのウィンドウをタスクバーに表示させて作業はしたいので、以前の2003のように、複数ウィンドウを表示させたまま 一回のクリックで終了させたいのです。 どなたか、ご教示をお願い致します。

  • Excel終了時、一つのファイル(ブック)しか閉じない

    同様の質問を捜したのですが見当たらなかったので質問させていただきます。 WinXPでExcel2003です。 以前はエクセルのファイル(ブック)を複数開いた状態において、アプリケーション終了の×ボタン(大元の一番右上)を押せば開いていたファイルすべてが終了したのです。 しかし最近、同じように操作しても、一つのファイルしか閉じないのです。(無論、ウィンドウのほうの小さい×ボタンを押しているわけではありません) Excelを終了させるのに×ボタンを何度も押すのが億劫なので、どこか設定が悪いのだろうと思っていますが、どこをどういじればいいのかよくわからず、質問させていただきます。 特に悪影響は無いので暇なときにご回答いただければ幸いです。

  • Excel2007の終了方法について

    いくつか質問にあがっているのですが、“従来どおり”右上の×ボタンをクリックすれば閉じるようにはなりませんか? (Shiftキーを押せば一度に消えますが覚えてられません) マイクロソフトの方でそのような修正モジュール?等でていませんか? http://www.officetanaka.net/excel/excel2007/061.htm よくあがっている、上記のサイトでは解決しません。

  • EXCEL2003で×で閉じたときの違い

    EXCEL2003を使用しています。 複数EXCELのファイルを起動して、右上にある×で終了させるのですが 一つずつ×を押して閉じなければいけない時と、一回押すとほかの全てのファイルも閉じられるといった場合があります。 これはなぜ起こるのでしょうか? もし設定で変更できたなら変更の方法も教えてください。 よろしくお願いします。

  • Excel2010についてです。

    Excel2010で、開いてるたくさんのファイルを 一括で保存して閉じる方法はありますか? Excel2010になってから、一番右上の「×」をクリックしても ひとつひとつのファイルを閉じていかないといけなくなりました。 これを、Excel2007のように「すべてのファイルを保存しますか?」などの ダイアログボックスが出るようにしたいのですが・・・

  • excel2003でマクロ用ボタンで検索のボタンをつけたいのですが?

    excel2003でマクロ用ボタンで検索のボタンをつけたいのですが? 現在、excel2003で複数のボタンを配置してそれぞれの機能をVBAでつくってシートに貼り付けてます。 その中の1つのボタンに検索の(通常のEXCELの検索で文字の入力用ボックスがでる)ボタンをつけたいのですが、うまくできません。 VBAでどのように記載したらよいのでしょうか? 宜しくお願いします。

  • EXCEL2003 オプションボタン複数選択/解除

    excel2003を使用しています。 今sheet上にオプションボタンをを横一列に5つ作りました。 (1)オプションボタンを複数にチェックをいれたい。 (2)同じボタンを2回押すとチェックが外れる。 ように設定したいです。 VBAでも構いません。 急いでいます。知恵を貸してください。

  • DOSコマンドでの強制終了

    batファイルにて複数コマンドを実施していますが、 実行中に 右上のxボタン(画面閉じる)にて強制終了できない、またはxボタンにて閉じる場合は応答要求をくるようにし強制終了を簡単に使用できないようにしたいのですが、いい方法があれば教えて下さい。

  • 複数のボタンを同一の動作にするために、まとめて書くには?

    22歳男性です。VBAについて質問があります。 エクセルシート上に複数のボタンを配置しました。ボタンは複数あるのですが全て同一の動作にすることは可能なのでしょうか? 今は以下のように全てに書いています。 sub ボタン1_Click() msgbox "こんばんは" End Sub Sub ボタン2_Click() msgbox "こんばんは" End Sub ・・・・・ でも、これだと全てのボタンに書かなくてはならないので、手間がかかりまくります。 なんとかまとめて書くことはできないでしょうか?