VB6でフォルダーを別のフォルダーにコピーしようとしています。
理想は5このフォルダーをいっきにコピーして一つのフォルダーに移動させたいんですが…
まずは1つだけコピーして移動させたいけど、エラーがでます。
どこが違うのでしょうか??
Option Explicit
Private Sub Form_Load()
Dim ret As Long
ret = CopyFile("C:\AA.text", "C:\BB.text")
If ret Then
MsgBox "コピー完了"
Else
MsgBox "異常終了"
End If
ret = MoveFile("C:\AA.text", "C:\BB.text")
If ret Then
MsgBox "移動完了"
Else
MsgBox "異常終了"
End If
End Sub
> ret = CopyFile("C:\AA.text", "C:\BB.text")
> ret = MoveFile("C:\AA.text", "C:\BB.text")
「CopyFile メソッド」も「MoveFile メソッド」も、VB6の組み込み機能ではなく、
外部オブジェクトである、「FileSystemObject オブジェクト」の機能です。
VB6のヘルプ(MSDNライブラリ)に書いてあるように、
「FileSystemObject オブジェクト」を生成してから、使用してください。
ありがとうございます。
色々試してみましたが、やはりエラーがきます。
画面も何もなく実行するとそのフォルダーをコピーしたいです。
Option Explicit
Private Sub Form_Load()
Dim ret As New FileSystemObjecd
ret = CopyFile("C:\AA.text", "C:\BB.text")
If ret Then
MsgBox "コピー完了"
Else
MsgBox "異常終了"
End If
ret = MoveFile("C:\AA.text", "C:\BB.text")
If ret Then
MsgBox "移動完了"
Else
MsgBox "異常終了"
End If
End Sub
どんなエラーでしょう?
>Dim ret As New FileSystemObjecd
> ret = CopyFile("C:\AA.text", "C:\BB.text")
いや、一度でもヘルプを見れば、そんな間違えかたはしないと思いますが、
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile "C:\AA.text", "C:\BB.text"
戻り値は無いので、
エラートラップするか、
ファイルの存在でエラー判定を行いましょう。
できました〜!!!
ありがとうございます。
次に2つ3つのファイルが同時にコピーでき移動できるかやってみます。
再度、試したらできなくなってしまいました。
エラーがファイル名または番号が不明みたいです。
フォルダー名の入れ方がまちがってるんですか??
Option Explicit
Private Sub Form_Load()
Dim ret As FileSystemObject
Set ret = New FileSystemObject
'コピーと移動
Call ret.CopyFile("C:\AA","C:\BB")
If ret Then
MsgBox "コピー完了"
Else
MsgBox "異常終了"
End If
Call ret.MoveFile("C:\AA", "C:\BB")
If ret Then
MsgBox "移動完了"
Else
MsgBox "異常終了"
End If
End Sub
マルチポスト報告
http://bbs.wankuma.com/index.cgi?mode=al2&namber=2374
ありがとうございました。
ツイート | ![]() |