• ベストアンサー

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

 Excel について質問です.  ファイルを複数開いているときに,一番右上の(タイトルバーの?)[x]ボタンを押すと,開いているすべてのファイルが閉じます.  これを,アクティブになっているファイルだけ閉じるようにはできないでしょうか.

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

  • ベストアンサー
  • 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

その他の回答 (5)

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

こんにちは。 もし、本当に、それを設定するということになると、クラスによるApplication イベント の設定になります。ただ、その設定というのは、かなりハイクラスの設定なのです。 私の場合、意味は違うと思いますが、図らずも、毎日使うブックで、特定の設定したら、最右上端の「×」で、全部が終わらない設定になってしまったのですが、意外に人間というのは勝手なもので、そういう設定になると、「×」で、一連で、「保存しますか?」のメッセージが出て、終わってくれないと、困るようになるものなのですね。 そういう質問が出るというのは、もともと、別な遠因というか原因があってではないでしょうか?おそらく、不特定多数のブックに対して、という意味ではないのではないでしょうか? 基本仕様に関する変更というのは、通常は、「ない」か、「代案」というのが建前なのです。 どこまで、望んでおられるのとか、より具体的な特別な事情をお話して、人を納得させれば、案外、解決案が出てくるものだと思いますが、いかがですか?そうでなければ、この回答は、お見捨てください。

magicoflove
質問者

補足

>どこまで、望んでおられるのとか、より具体的な特別な事情  はい.他の方の回答を読んで,「あぁ言葉足らずだったか」と反省しております.  メニューバーの[x]を押せ,というのはそのとおりなのですが,常に最大化で使用している私はメニューバーよりタイトルバーの[x]を押すほうが楽なのです.そこで,それを閉じようと[x]を押すと,その他のファイルも閉じられてしまうのを何とかしたいという思いがありました.  また,他のソフトでは[x]を押したときの挙動(全部閉じるか否か)を設定できたので,Excel ではできないのか知らんと思って質問しました.Word では複数開いているときにタイトルバーの[x]でアクティブになっているものだけ閉じるので,私の(今時点での)所望どおりに動いてくれます.  Excel は,大きなウィンドウの中で複数のファイルを開いている,というように表示されますね….  なんだかうまく書けません.

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

#03です。ショートカットキーは  Ctrl+F4  Alt+F4 でした。訂正します

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

エクセルが最大化されていてもキャプション(青いタイトル)の右端の赤い×アイコンと、メニューバー右端の灰色の×アイコンが出ていませんか? メニューバーの×アイコンでそのシートだけを閉じることができます。ショートカットキーはCtrl+Qでもできます。(Alt+Qはエクセル自体をクローズします)

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.2

Excelの作業ウインドウ内でそのファイルを最大化表示している場合はできません。 Excelのバージョンによってはメニューバーの右端付近の「元のサイズに戻す」ボタンを使って、ブックを個別の大きさにする事ができます。この状態ならアクティブになっているファイルだけをそのブックの「×」ボタンから閉じることができます。 しかし・・・ Ctrl+W が一番お手軽じゃないかと思います。

  • miwamiwao
  • ベストアンサー率44% (22/49)
回答No.1

×ボタンが2つあると思いますよ。 一番右上の×だと、おっしゃるようにすべて閉じてしまいます。 もう少し左下に×があると思います。それだとファイルごとに閉じれます。