お世話になります。VB6.0でUnlha32を使用してLZHファイルを解凍後、LZHファイルを削除する処理を作ってみたのですが、LZHをいざKILLステートメントで削除しようと思うと、”パスが無効”と出てしまって削除できません。
ret=Unlha(・・・)
if ret = 0 then
ChDir LZHファイルがあるフォルダ
Kill LZHファイル ← ここでエラーが出る
end if
こんな感じなのですが、Killの前で何かやっておかなければならないのでしょうか?
例えばNothing や Closeのように 処理と切り離すコマンドが必要なのかな?
No.2ベストアンサー
- 回答日時:
LZHファイルが「別のドライブに存在」するのではないでしょうか?
ChDirでは「そのドライブのフォルダが変更されるだけ」で,ドライブは変更しません.
そして「フォルダの変更状態はドライブ毎に独立して存在する」のです.
ret=Unlha(・・・)
if ret = 0 then
ChDrive LZHファイルがあるドライブ
ChDir LZHファイルがあるフォルダ
Kill LZHファイル
end if
こんな感じでいかがでしょうか?
おそらくヘルプを読まれたようですね.
KILLステートメントの例が,フルパス指定ではなかったのかもしれません.
しかし,私もKojiSさんのアドバイス通り,KILLステートメントにフルパス指定される方がベターかと思います.
がんばってください.
No.3
- 回答日時:
-jsbスイッチは指定していますよね?
この回答への補足
解凍は下記の通りでやってます。
ret = Unlha(Me.hWnd, "e -ngm """ & FreezeFile & """ """ & workPath$ & """ ""*.*""", Buff, 64000)
成功すれば ret=0 ですよね。
皆様、色々ご回答ありがとうございました。
結局、イージーミスであることが発覚しました!!
元々、解凍しているファイルはCD-ROMに焼いたものを手で固定フォルダへコピー後、解凍プログラムを起動していたものであり、つまり!そのままだと「読み取り専用」の属性が付いたまま削除処理をしようとしているのですね。
本当にごめんなさい。(こんな簡単なことがわかるのに丸一日かけてしまいました(TT))
無事解決しました。
No.1
- 回答日時:
なぜ Killでフルパスを設定しないかが疑問です。
一度フルパスで指定してみてください。それでエラーになる場合は、フォルダかファイル名が間違っています。この回答への補足
ごめんなさい、説明が足りませんでした。
フルパスでも試してみましたがダメでした。
あるマシンではエラーが出ないのですが、処理スピードが遅いマシン(Pentium133)だとダメなんです。
そこで、きっとファイルが「処理中」or「開いている」といった情報がどこかに残っていて、削除できない状態にあるのではないかと思っています。
でもOpenステートメントのCloseのようなコマンドが書庫解凍の時には何になるのかがよくわかりません。
下手な説明ですみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Excel(エクセル) 2つのマクロを連続して動かしたい 3 2022/09/20 23:46
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どんなプログラムを書いても指...
-
フルパスから最後のディレクト...
-
FTPでputすると空ファイルが出...
-
windows.hがincludeされない
-
「UNCパスはサポートされません...
-
ExcelVBAでカレントディレクト...
-
GetPrivateProfileStringでini...
-
FTPでリモートのファイル一覧取得
-
ネットワーク上のコンピュータ...
-
フォルダ内の全ファイルの容量
-
ディレクトリ/ファイル リスト...
-
Excelのマクロでファイル...
-
圧縮(Zip)について
-
VBでのファイル検索について。
-
C言語を用いたファイルの一括削...
-
マイクラでPythonのプログラミ...
-
#include<el.h>って?
-
fopenで別ディレクトリにファイ...
-
新規作成ファイルパスが有効か...
-
ファイルダイアログのカレント...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フルパスから最後のディレクト...
-
FTPでputすると空ファイルが出...
-
どんなプログラムを書いても指...
-
ExcelVBAでカレントディレクト...
-
マイクラでPythonのプログラミ...
-
windows.hがincludeされない
-
「UNCパスはサポートされません...
-
ファイルやディレクトリの存在...
-
ネットワーク上のコンピュータ...
-
C言語を用いたファイルの一括削...
-
fopenで別ディレクトリにファイ...
-
GetPrivateProfileStringでini...
-
ExcelVBA サーバーの(共有フォ...
-
絶対パスの絶対て英語で何でし...
-
FTPでリモートのファイル一覧取得
-
webアプリケーションでの画像フ...
-
ファイルダイアログのカレント...
-
VBAで自身のファイル名を取得す...
-
AfxLoadLibrary関数で、DLLのハ...
-
Ubuntu テキストファイルをどこ...
おすすめ情報