アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB6でファイルリネームツールを作成しています。
DriveListBox・DirListBox・FileListBox・TextBox*2・コマンドボタン*3を配置しています。
実行して、ドライブ・ディレクトリを選択して、FileListBoxに表示されいるファイルをコマンド2ボタンで全部Text2に表示させています。
そこで、text2からファイル名を直接編集して、コマンド3ボタンで編集したファイル名で保存したいのですが、どう記述すれば良いのでしょうか。

Text1とコマンド1の状態は、FileListboxでクリックしたファイルをText1に表示・編集して、コマンド1でファイル名変更できる状態です。
コマンド3のコードですと、
>Set fsofile = fso.GetFile(Dir1.Path & "\" & File1.FileName)
の行が、実行エラー53、ファイルが見つかりません。となります。
宜しくお願いします。


現在のコードです。
Private Sub Command1_Click()
  Dim fso As New FileSystemObject
  Set fsofile = fso.GetFile(Dir1.Path & "\" & File1.FileName)
  fsofile.Name = Text1.Text
  File1.Refresh
end sub

Private Sub Command2_Click()
  Text2.Text = Clear
  Dim fso As New FileSystemObject
  For Each myFile In fso.GetFolder(Dir1.Path & "\" & File1.FileName).Files
    Text2.Text = Text2.Text & myFile.Name & vbCrLf
  Next
End Sub

Private Sub Command3_Click()
  Dim fso As New FileSystemObject
  Set fsofile = fso.GetFile(Dir1.Path & "\" & File1.FileName)
  fsofile.Name = Text2.Text
  File1.Refresh
End Sub

Private Sub Dir1_Change()
  File1.Path = Dir1.Path
End Sub

Private Sub Drive1_Change()
  Dir1.Path = Drive1.Drive
End Sub

Private Sub File1_Click()
  Text1.SetFocus
  Text1.Text = File1.FileName
End Sub


Private Sub Form_Load()
  Text1.Text = ""
  Text2.Text = ""
  Dir1.Path = App.Path
  Drive1.Drive = App.Path
End Sub

A 回答 (1件)

> >Set fsofile = fso.GetFile(Dir1.Path & "\" & File1.FileName)


> の行が、実行エラー53、ファイルが見つかりません。となります。

とのことなので、
直前の行とかで
Debug.Print Dir1.Path & "\" & File1.FileName
ってやってみてイミディエイティ ウィンドウになんて表示されるか確認してみてはどうでしょうか?
「ファイルが見つかりません」なので生成されたパス文字列が間違ってるんじゃないかって点を最初に疑ってみましょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!