掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ファイルをコピーしているときのプログレスバーを出すには? (ID:122608)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
たえです。こんにちは 0123さんレスありがとうございました。他の皆様もありがとうございます。 >Openの説明は読みましたか?Binaryモードで開くとき、既にファイルが存在 >する場合はどうなりますか? はい、Openステートメントを読んでみました。 MSDNより >引数 pathname に指定したファイルが存在しない場合、ファイルを開くときに >追加モード (Append)、バイナリ モード (Binary)、出力モード (Output)、 >またはランダム アクセス モード (Random) のいずれかのモードが指定されている場合、 >新規に作成されて開きます。 と書いてありました。ファイルが存在しない場合は見つけれませんでした。 >ここで読み込んでいるのは何バイトですか? 1バイトです。 >コピー先のファイル番号はコピー元と一緒ですか? >書き出しているのは何ですか? ソースを書き換えましたので、ご覧頂けないでしょうか? レスを頂いたみなさんのお返事は改めてさせて 頂きます。いっぱいいっぱいですので、ちょっと待って下さい。 下のようなかたちにしたところ、 実行時エラー54 ファイルモードが不正です。 と Put #FileNO2, , f 'コピー先にデータを書込 ここで、エラーになります。 自分の中では、少し進歩しました。 エラーは出ましたけど、目的のところにゼロKBの開かないMDBが コピーできました。 まだまだ先は遠いですけど、もう少しご教授願えたらうれしいです。 Option Explicit Sub main() Dim i As Long, ii As Long, j As Long, FileNO1 As Long, FileNO2 As Long Dim s As String, MotoF As String, SakiF As String Dim f As Byte 'コピー元ファイル MotoF = "C:\1\TEST.mdb" '後ろから数えて\がどこにあるのかを数える。 j = InStrRev(MotoF, "\") 'ファイル名を取得 s = Mid$(MotoF, j + 1) 'コピー先ファイル SakiF = "D:\1\" & s '使用可能なファイル番号を返す FileNO1 = FreeFile() 'バイナリモードでファイルオープン Open MotoF For Binary Access Read Write As #FileNO1 FileNO2 = FreeFile() Open SakiF For Output As #FileNO2 'ファイルサイズ取得 i = FileLen(MotoF) 'ファイルサイズをループ For ii = 1 To i f = ii Get #FileNO1, , f 'データを読込 Put #FileNO2, , f 'コピー先にデータを書込 Next ii Close #FileNO2 '閉じる Close #FileNO1 '閉じる End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.