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

下記のコードは指定されたフォルダを閉じるコードですが
A列に記載されているフォルダのパスが
あり、そのフォルダを全て閉じるコード
わかる方おしえてくれませんでしょうか

下記のコードはだめでした
Dim w
For Each w In CreateObject("shell.application").Windows

For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If w.LocationName = Cells(i, 1).Value.Title Then w.Quit

Next i
Next w

下記のコードは Set ff = shell.Namespace("パス名")のパス名を
指定すれば とじますが、ひとつだけです。

Sub test()
Dim wn As Object
Dim shell As Object
Dim ff As Object
Set shell = CreateObject("shell.application")

Set ff = shell.Namespace("パス名")

For Each wn In shell.Windows
If wn.LocationName = ff.Title Then
wn.Quit
End If
Next

End Sub

A 回答 (2件)

No.1です。



もしかして
>For Each wn In shell.Windows

>Set ff = shell.Namespace(Cells(i, 1).Value)

逆だったかな?

Sub test_3()
Dim wn As Object
Dim shell As Object
Dim ff As Object
Dim i As Long

Set shell = CreateObject("shell.application")

For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Set ff = shell.Namespace(Cells(i, 1).Value)

For Each wn In shell.Windows

If wn.LocationName = ff.Title Then
wn.Quit
End If

Next
Next
End Sub
    • good
    • 0
この回答へのお礼

どちらでもうごきました。
本当ありがとうございました。

お礼日時:2024/01/03 13:58

くっつけるだけかと。



Sub test_2()
Dim wn As Object
Dim shell As Object
Dim ff As Object
Dim i As Long

Set shell = CreateObject("shell.application")

For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For Each wn In shell.Windows

Set ff = shell.Namespace(Cells(i, 1).Value)
If wn.LocationName = ff.Title Then
wn.Quit
End If

Next
Next
End Sub

多分です。
これは経験した事ありませんので。
    • good
    • 0
この回答へのお礼

解決しました

お礼日時:2024/01/03 13:55

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

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


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