[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『フォルダが削除できない』(あん)
マクロで、あるフォルダの中身を別のフォルダに移してから、 RmDirを使って空となった元のフォルダを削除したいのですが、 「ほかの人またはプログラムによって使用されています」とか 「パスが無効です」などとエラーが表示され、削除することができません。
そのエラーメッセージの後だと、 手作業で削除しようとしても消すことができません。 このマクロがあるブックを閉じると、 そのフォルダも削除することができるようになるのです。 どうしてでしょうか?よろしくお願いします。 OSはXP、Excelは2003です。
コードをアップしたほうが解決が早いと思いますよ。
>マクロで、あるフォルダの中身を別のフォルダに移してから、
これはマクロで別フォルダに移したのでしょうか? 手作業で移したのでしょうか?
FileSystemObjectのDeleteFolderを使う、という方法もあります。
なお、ご存知かとは思いますが、RmDirは、フォルダ内に 何か残っていると実行できません。
(MARBIN)
たぶんマクロで移動させている時に削除したいフォルダがカレントフォルダになっているためExcel自身がつかんでいるのでしょう。
ChDirでカレントフォルダをルート等に変更してからRmDirを実行してはどうでしょうか? (独覚)
Nameステートメントでフォルダを移動する、という方法もあります。 "D:\test\aa"というフォルダの中にある"cc"というフォルダを "D:\test\bb"の中に移動します。
Dim oldpath As String Dim newpath As String oldpath = "D:\test\aa\cc" newpath = "D:\test\bb\cc" Name oldpath As newpath (MARBIN)
独覚さんのおっしゃる通りでした! 先にChDirで違うフォルダに変更したら、ちゃんと削除できました。 みなさま、本当に助かりました。 ありがとうございました。 (あん)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.