OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

access VBAでのファイル読み込みとその保存方法

  • すぐに回答を!
  • 質問No.246297
  • 閲覧数1615
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 80% (34/42)

昨日も質問させていただいたVBA初心者です。
いろいろ調べましたが解決しなかったので、
またまた質問させていただきます。

ファイルを読み込んで、それを別ファイルに保存したいのですが、
下記ですと、1行のみ保存されるだけでした。
この方法ですと、すべて保存されるはずと書かれていたのですが。
全くどこが悪いのか分かりません、よろしくお願いします。

Private Sub cmd_Click()
On Error GoTo Err_cmd_Click
Dim ReadFileName As String
Dim Contents As String
Dim WriteFileName As String

ReadFileName = "P:\dl_engine\logs1\service\20020223"
' ファイルを読み込む
Open ReadFileName For Input As #1
Input #1, Contents
Close #1

WriteFileName = "C:\Contents\data\Melody.csv"
' ファイルに保存
Open WriteFileName For Output As #2
Write #2, Contents
Close #2

'正常終了
Exit_cmd_Click:
Exit Sub

'エラー処理
Err_cmd_Click:
Beep
Select Case Err.Number
Case Else
MsgBox Err.Number & ":" & Err.Description
End Select
Resume Next
End Sub
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル14

ベストアンサー率 51% (1179/2272)

こんにちは。maruru01です。

読み込むところで、Doループでファイルの終端まで繰り返さないといけないですよ。
あと、Line Inputではダメですか?

Dim temp As String  '1行のデータの仮置き

Open ReadFileName For Input As #1
  Do Until EOF(1)
    Line Input #1, temp
    Contents = Contents & temp & vbCrLf
  Loop
Close #1
※Line Inputの場合はWriteではなくPrintを使用

それから、ファイル番号は1とか2とか自分で付けずに、FreeFile関数を使った方がいいですよ。
では。
お礼コメント
t_n_t

お礼率 80% (34/42)

さっそく試したところ、バッチリでした。
> ファイル番号は1とか2とか自分で付けずに、
> FreeFile関数を使った方がいいですよ。
そのようにしたいと思います。
よろしければ、理由など教えていただきますと助かります。

今回は本当にありがとうございました!
投稿日時 - 2002-04-03 16:43:07
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ