Excel VBA質問箱 IV

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

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


6662 / 13644 ツリー ←次へ | 前へ→

【43925】不要なブックを閉じるには? galikun 06/10/29(日) 21:47 質問[未読]
【43927】Re:不要なブックを閉じるには? りん 06/10/29(日) 22:19 回答[未読]
【43928】Re:不要なブックを閉じるには? galikun 06/10/29(日) 22:43 お礼[未読]
【43929】Re:不要なブックを閉じるには? りん 06/10/29(日) 22:45 発言[未読]
【43930】Re:不要なブックを閉じるには? galikun 06/10/29(日) 23:06 お礼[未読]

【43925】不要なブックを閉じるには?
質問  galikun E-MAIL  - 06/10/29(日) 21:47 -

引用なし
パスワード
   複数のブックを開いた場合に、アクティブなブックはそのままで、それ以外のブックを保存なしで閉じるマクロを教えて下さい。

【43927】Re:不要なブックを閉じるには?
回答  りん E-MAIL  - 06/10/29(日) 22:19 -

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

>複数のブックを開いた場合に、アクティブなブックはそのままで、それ以外のブックを保存なしで閉じるマクロを教えて下さい。
非表示なヤツ(Personal等)と、このマクロがあるブックが閉じると不都合があるかもしれないので、それらを除外してアクティブなブック以外を閉じます。

Sub test()
  Dim wb As Workbook, flg As Boolean
  For Each wb In Application.Workbooks
   '非表示ブックは無視します
   If wb.Windows(1).Visible = True Then
     'このマクロのあるブック名またはアクティブなブック名と一致すればTrue
     tf = (wb.Name = Application.ActiveWorkbook.Name) Or _
        (wb.Name = Application.ThisWorkbook.Name)
     If tf = False Then
      wb.Saved = True '保存したふり
      wb.Close    '閉じる
     End If
   End If
  Next
End Sub

こんな感じです。

【43928】Re:不要なブックを閉じるには?
お礼  galikun E-MAIL  - 06/10/29(日) 22:43 -

引用なし
パスワード
   ▼りん さん,こんばんわ
 早速試してみましたが、うまくいきました。
とても役にたちそうです。
ありがとうございました。

【43929】Re:不要なブックを閉じるには?
発言  りん E-MAIL  - 06/10/29(日) 22:45 -

引用なし
パスワード
   galikun さん、こんばんわ。
すみません、宣言してる変数と実際使ってる変数と名前が違ってましたので、訂正します。

Sub test()
  Dim wb As Workbook,tf As Boolean
  For Each wb In Application.Workbooks
   '非表示ブックは無視します
   If wb.Windows(1).Visible = True Then
     'このマクロのあるブック名またはアクティブなブック名と一致すればTrue
     tf = (wb.Name = Application.ActiveWorkbook.Name) Or _
        (wb.Name = Application.ThisWorkbook.Name)
     If tf = False Then
      wb.Saved = True '保存したふり
      wb.Close    '閉じる
     End If
   End If
  Next
End Sub

ごめんなさい。

【43930】Re:不要なブックを閉じるには?
お礼  galikun E-MAIL  - 06/10/29(日) 23:06 -

引用なし
パスワード
   りん さんへ
 気づきませんでしたが、よく見るとそうですね。
確認しました。
ご丁寧にありがとうございました。

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