アプリ版:「スタンプのみでお礼する」機能のリリースについて

タイトルのマクロ、ご存じの方は教えて下さい。
ネットで調べ、下記参考のマクロは動きますが

開いているフォルダを順番に閉じます。
5個開いているたら、実行するごとに1つ閉じます
⇒なので5回実行します。

【やりたい事】
1回の実行で複数開いているフォルダを閉じるマクロです。

ご存じの方、宜しくお願い致します。

【参考】
Sub フォルダを1つづつ閉じる()

Set sh = CreateObject("Shell.Application")

For Each w In sh.Windows
If (InStr(TypeName(w.document), "IShellFolderView") > 0) Then w.Quit
Next


End Sub

A 回答 (3件)

こんにちは


>5個開いているたら、実行するごとに1つ閉じます
⇒なので5回実行します。
と言う事は・・
既存の外に sh.Windows.Countでループを加えるのはどうでしょうか?
    • good
    • 0
この回答へのお礼

すいません。既存の外とはどういう意味でしょうか。

お礼日時:2022/08/28 23:43

変な日本語でしたね。


Windows.Countを使う
ご質問コードを使う場合の一例で・・
こんな感じでどうでしょう・・・
Set sh = CreateObject("Shell.Application")
For i = 1 To sh.Windows.Count
For Each w In sh.Windows
If (InStr(TypeName(w.document), "IShellFolderView") > 0) Then w.Quit
Next
Next

Each w In sh.Windowsをしなくても
多分、
For i = 1 To sh.Windows.Count
If (InStr(TypeName(sh.Windows(0).document), "IShellFolderView") > 0) Then sh.Windows(0).Quit
Next
これでも行けそうな気がします・・ダメだったらごめんなさい
    • good
    • 1
この回答へのお礼

すごい、うまくいきました。ありがとうございます。

お礼日時:2022/08/29 00:23

マクロの勉強であれば無視してください。


スクリプトが以下にあります。
開いて解析するもよし。
 
https://kimama9.blog.fc2.com/blog-entry-970.html
    • good
    • 1
この回答へのお礼

参考サイトありがとうございます

お礼日時:2022/08/28 23:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A