みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VB6・一括でファイル名の変更したいのですが

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

投稿日時 - 2008-02-13 20:31:17

QNo.3772975

すぐに回答ほしいです

質問者が選んだベストアンサー

> >Set fsofile = fso.GetFile(Dir1.Path & "\" & File1.FileName)
> の行が、実行エラー53、ファイルが見つかりません。となります。

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

投稿日時 - 2008-02-13 22:00:25

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問