Excel VBA質問箱 IV

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

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


6084 / 13645 ツリー ←次へ | 前へ→

【47260】フォルダを閉じる nana 07/3/6(火) 19:14 質問[未読]
【47261】Re:フォルダを閉じる ぱっせんじゃー 07/3/6(火) 19:47 発言[未読]
【47265】Re:フォルダを閉じる ichinose 07/3/6(火) 20:48 発言[未読]
【47314】ありがとうございました nana 07/3/7(水) 22:10 お礼[未読]

【47260】フォルダを閉じる
質問  nana  - 07/3/6(火) 19:14 -

引用なし
パスワード
   Application.Quit で、Excel を終了した後、そのworkbookがはいっているフォルダも、閉じたいのですけど。教えてください。

【47261】Re:フォルダを閉じる
発言  ぱっせんじゃー  - 07/3/6(火) 19:47 -

引用なし
パスワード
   ブックを閉じる前に処理します。

Sub test()
Dim IE As Object
Dim strPath As String
strPath = ThisWorkbook.Path
 For Each IE In CreateObject("Shell.Application").Windows
  If TypeName(IE.document) = "IShellFolderViewDual2" Then
   If IE.document.Folder.Items.Item.Path = strPath Then
     IE.Quit
   End If
  End If
 Next
End Sub

【47265】Re:フォルダを閉じる
発言  ichinose  - 07/3/6(火) 20:48 -

引用なし
パスワード
   こんばんは。
似たようなものですが、

Sub test()
  Dim ws As Object
  Dim cpath As String
  With CreateObject("shell.application")
    For Each ws In .Windows
     cpath = Replace(Replace(Replace(ws.Locationurl, "%20", " "), "file:///", ""), "/", "\")
     If Right(cpath, 1) = "\" Then cpath = Left(cpath, Len(cpath) - 1)
     If ThisWorkbook.Path = cpath Then
       ws.Quit
       Exit For
       End If
     Next
    End With
End Sub


>
>Sub test()
> Dim IE As Object
> Dim strPath As String
> strPath = ThisWorkbook.Path
> For Each IE In CreateObject("Shell.Application").Windows
>  If TypeName(IE.document) = "IShellFolderViewDual2" Then
'               これ IShellFolderViewDual 2が入りました?
>   If IE.document.Folder.Items.Item.Path = strPath Then
>     IE.Quit
>   End If
>  End If
> Next
>End Sub

それとルートだとIE.document.Folder.Items.Item.Path には、
最後に\が付くそうですよ!!

【47314】ありがとうございました
お礼  nana  - 07/3/7(水) 22:10 -

引用なし
パスワード
   コードをコピーして使わせていただきます。
もっとも。意味は難しくてよくわかりませんけど。
自分なりに勉強してみます。

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

では。

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