DeleteFolderメソッドでフォルダを削除するには?


みちこ  2002-02-12 20:26:30  No: 75258  IP: [192.*.*.*]

はじめまして。教えてください。
Dir関数でAフォルダ内のファイルBの存在を確認した後、
Kill関数でファイルBを削除します。
この状態でAフォルダをファイルシステムオブジェクトのDeleteFolderメソッドで削除しようとするとうまく削除できません。
どうやらDir関数がAフォルダを握ってしまっているようなのですが、どうしたら
削除できるようになるのでしょうか?何かよい方法があれば教えてください。

編集 削除
Say  2002-02-13 01:18:11  No: 75259  IP: [192.*.*.*]

DirやKillせずに、いきなりDeleteFolderしたらどうですか?
DeleteFolderは、中身があろうがなかろうがお構いなしに
削除するし・・・。

さもなければ、Killのあと
RmDirでフォルダ削除するとか・・・。

お好きなほうをどうぞ。

編集 削除
ハウア  2002-02-15 11:36:43  No: 75260  IP: [192.*.*.*]

Dir関数の変わりに
「FileSystemObject」の「fileExists」を使用してみてはどうでしょうか?

--------------------------------------
Private Sub Command1_Click()
Dim fs As Object
Set fs = CreateObject("Scripting.FileSystemObject")

'///ファイルが存在していれば実行
'/// Text1.TextはAフォルダのパス[例 "c:\a"]
'/// Text2.TextはBファイルのパス[例 "c:\a\b"]
If fs.fileExists(Text2.Text) = True Then
  Kill (Text2.Text)
  fs.deletefolder (Text1.Text)
End If
End Sub

編集 削除
ぽー  2002-03-17 00:58:21  No: 75261  IP: [192.*.*.*]

はじめまして。
こんばんわ。
おそらく、削除対象のフォルダがカレントフォルダに
なっているため、削除が行えない可能性があります。
ですので、カレントフォルダを別の場所にしてから、
そのフォルダに対して削除処理を実施してみては
如何でしょうか?
解決しなかったらごめんなさい。

編集 削除
みちこ  2002-03-19 21:04:29  No: 75262  IP: [192.*.*.*]

既存のAPなので、あまり変更をすることができないのです。

  というわけで、Dir関数を使いつつも、フォルダの削除を行いたいのですが。
ぽー さんの回答の、「カレントフォルダを別の場所に移動」というのは、
「再度Dir関数を、別のフォルダを指定して呼ぶ」という
ことでしょうか?

編集 削除