フォルダやドライブ変更するとリネームできなくなります。
現在VB6でファイルリネームツールを作成しています。
DriveListBox・DirListBox・FileListBox・TextBox・コマンドボタンを配置しています。
ドライブ・ディレクトリ・ファイルを順に選択して、選択したファイル名をテキストボックスに表示させ、ファイル名を
テキストボックスで直接編集してコマンドボタンでリネームを実行しています。
以下のコードで実行すると、
起動して最初に表示されるVB98フォルダ内のファイル名はコマンドボタン1・2どちらでも
変更できますが、ドライブやディレクトリを変更して、Textboxでリネームをしコマンドボタンを押すとエラーが出てリネームできません。
コマンド1ボタンエラー
>Set fsofile = fso.GetFile(File1.FileName)
コマンド2ボタンエラー
>Name nname As newname
となります。どちらもエラー番号53で"ファイルが見つかりません"とでます。
どのように記述すればディレクトリやドライブを変更しても名前を変えられるでしょうか?宜しくお願いします。
Private Sub Command1_Click()
Dim fso As New FileSystemObject
Set fsofile = fso.GetFile(File1.FileName)
fsofile.Name = Text1.Text
File1.Refresh
End Sub
Private Sub Command2_Click()
Dim nname As String
Dim newname As String
nname = File1.FileName
newname = Text1.Text
Name nname As newname
File1.Refresh
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Private Sub Drive1_Change()
On Error GoTo Derr
Dir1.Path = Drive1.Drive
Exit Sub
Derr:
If Derr = 68 Then
MsgBox "デバイスの準備ができていません。", vbCritical
Else
MsgBox "ドライブにエラーがあります。", vbCritical
End If
End Sub
Private Sub File1_Click()
Text1.Text = File1.FileName
End Sub
Private Sub Form_Load()
Text1.Text = ""
Dir1.Path = App.Path
Drive1.Drive = App.Path
End Sub
補足
すいません、情報不足でした。 テキストボックスへ表示した後、テキストボックスから直接ファイルの名前を編集して、 コマンドボタンを使ってファイル名を上書き保存したいということです。 もしわかりましたら宜しくお願いします。