過去ログ

                                Page      94
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼PERSONAL.XLSを閉じない方法  あばうと 02/9/6(金) 9:55
   ┗Re:PERSONAL.XLSを閉じない方法  つん 02/9/6(金) 10:22
      ┗Re:PERSONAL.XLSを閉じない方法  あばうと 02/9/18(水) 15:45

 ───────────────────────────────────────
 ■題名 : PERSONAL.XLSを閉じない方法
 ■名前 : あばうと
 ■日付 : 02/9/6(金) 9:55
 -------------------------------------------------------------------------
   いつもお世話になっております。

開いているブックをすべて閉じるマクロを下記のように書いてみたのですが
実行すると個人マクロブックも閉じてしまいます。
これを回避する方法などありますでしょうか?

またすべてのブックを閉じる他の方法などあるでしょうか?

よろしくお願いします。

Sub WBClose()
Dim WBK As Workbook
  For Each WBK In Application.Workbooks
    WBK.Close
  Next WBK
End Sub
 ───────────────────────────────────────  ■題名 : Re:PERSONAL.XLSを閉じない方法  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 02/9/6(金) 10:22  -------------------------------------------------------------------------
   あばうと さん、おはようございます。

>開いているブックをすべて閉じるマクロを下記のように書いてみたのですが
>実行すると個人マクロブックも閉じてしまいます。
>これを回避する方法などありますでしょうか?

Sub test()

  Dim wb As Workbook
  
  For Each wb In Workbooks
    MsgBox wb.Name & vbCr & vbCr & Windows(wb.Name).Visible
  Next wb

End Sub

これで、今開いているブックの名前とそれの表示・非表示状態が取得できますので、
これで判断されたらどうでしょうか?
名前だけで判定してもいいと思うけど、他に非表示のファイルが有る場合も考えられるなら、表示されているブックに対してだけ処理・・・というやり方の方がいいかもしれません。

こんなんでどーですかー?
 ───────────────────────────────────────  ■題名 : Re:PERSONAL.XLSを閉じない方法  ■名前 : あばうと  ■日付 : 02/9/18(水) 15:45  -------------------------------------------------------------------------
   つんさん こんにちは。

ずいぶんと遅くなってしまいましたが なんとか出来ました。
(注:悩み続けていたわけではありません。。。(^_^;)

ありがとうございました。


ちなみにこんな風にしました。。。
==============================

Sub Test()

Dim WBK As Workbook
  For Each WBK In Workbooks
    wbp = Windows(WBK.Name).Visible
    
    If wbp = True Then
      WBK.Close
    End If

  Next WBK
End Sub
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 94