[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/07/29(Fri) 13:12
投稿者名:おっちゃん
Eメール:
URL :
タイトル:
ファイルの削除
■VBのバージョン : VB6(SP6) Windows2000

お世話になっております。
現在、以下のような手順であるファイルを削除したいと考えております。
1.【A.XLS】ファイル(読み取り専用)を別名【B.XLS】という名前でコピーします。
  Call CopyFile(A.XLS, B.XLS, 0)

2.【B.XLS】ファイルの属性は読み取り専用になっているので解除します。
  Call SetAttr(B.XLS, vbNormal)

3.【B.XLS】ファイルを起動します。

4.【B.XLS】ファイルがフォルダに存在するので削除します。
    Dim Fso As FileSystemObject
    
    Set Fso = New FileSystemObject
    
    ' 読み取り専用ファイルも削除する
    Call Fso.DeleteFile(B.XLS, True)

を実行するのですが【B.XLS】ファイルが削除されません。
但し、【B.XLS】ファイルが読み取り専用であれば削除されます。
どなたかこのような場合どうすればよいのか分かる方がいらっしゃいましたら
ご教授願います。よろしくお願い致します。

投稿時間:2005/07/29(Fri) 13:53
投稿者名:いな
Eメール:
URL :
タイトル:
Re: ファイルの削除
自分は、ファイル削除するだけならば、
    If Dir("c:\B.XLS") <> "" Then
        SetAttr "c:\B.XLS", vbNormal
        Kill "c:\B.XLS"
    End If
っていう感じで削除しちゃいますが、FSOを使わないといけないのかなぁ〜。

投稿時間:2005/07/29(Fri) 14:13
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: ファイルの削除
> 3.【B.XLS】ファイルを起動します。
>
> 4.【B.XLS】ファイルがフォルダに存在するので削除します。

どういう理由で削除しなければならないか知りませんが、使用中のファイルは、削除できないし、
削除すべきではないかと思います。
削除するなら、ファイルを閉じる等の処理をすれば削除できますが。

削除しなければならない理由に合せた、他の方法で削除すべきかと思います。
例、(読み込んだファイルを違うファイル名で保存した後、B.XLS を削除して
保存したファイルの名前を B.XLS に変更する等)

投稿時間:2005/07/29(Fri) 18:07
投稿者名:おっちゃん
Eメール:
URL :
タイトル:
Re^2: ファイルの削除
単純な発送を書いてしまって申し訳ないです。
例えばエクスプローラを経由させて【SendKeys】を使ってファイル削除できない
かなぁと思ったのですが。。。
やっぱりダメですかね?。^^;