Word (VBA)

Word VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Home Premium : Word 2003)
不活性なフォルダをマクロで閉じたいが失敗する
投稿日時: 19/11/30 15:45:47
投稿者: oyoyo_president

自作のwordマクロを実行すると何故かマイドキュメントのフォルダが不活性な状態でツールバーに実行毎に1つずつ多重に生成され残存します(メモリ資源の無駄)。
そこでそのマクロの終わりにマイドキュメントのフォルダを閉じるように以下のコードを追加したのですが閉じてくれません。実行は正常に終了しエラーにはならないのですが。
アドバイスをお願いします。
 
'−−−−−−−−−−−−−−−−−
Dim taskLoop As Task
 
For Each taskLoop In Tasks
        If InStr(taskLoop.Name, "マイ ドキュメント") > 0 Then
             
            Debug.Print taskLoop.Name
         
            taskLoop.Activate
            taskLoop.Close
             
        End If
Next taskLoop

回答
投稿日時: 19/12/26 17:47:09
投稿者: WinArrow
投稿者のウェブサイトに移動

>Debug.Print taskLoop.Name
は、実行されたことを確認しているのでしょうか?

回答
投稿日時: 19/12/26 19:39:49
投稿者: よろずや

> If InStr(taskLoop.Name, "マイ ドキュメント") > 0 Then
              ↓
   If InStr(taskLoop.Name, "ドキュメント") > 0 Then

回答
投稿日時: 19/12/26 20:38:40
投稿者: WinArrow
投稿者のウェブサイトに移動

続編
  
問題を切り分けることが大切です。
  
Debug.Print が実行されているのでしたら
条件文ではなく、別のところに、原因があると思います。
  
Debug.Print が実行されていないのでしたら
IF文に問題ありです。
  
Word2003の環境がないので「マイ ドキュメント」が正しいか確認できません。
  
確実な
IF文は
If taskLoop.Name Like "*ドキュメント*" Then
に変更してみてください。
  
  

投稿日時: 20/01/15 12:06:08
投稿者: oyoyo_president

アドバイスありがとうございます。
自分の勘違いでマイドキュメントのフォルダを閉じるコードは、質問のもの、ご教示いただいたもの、いずれも正常に機能します。
ただし、自作マクロの終わり(マイドキュメントのフォルダを閉じるコードは末尾に配置なので意味がわかりません)に新たに一つのマイドキュメントが開かれる現象は変わりません。
多重に開かれることはないので、これで解決とさせていただきます。