ここから本文です

CSVのデータをACCESSに取り込みのですが、1行目からではなく5行目から取り込むには...

myz********さん

2009/9/317:47:28

CSVのデータをACCESSに取り込みのですが、1行目からではなく5行目から取り込むにはどうしたらよいでしょうか?
DoCmd.TransferText acImportFixed, "○○定義", "MASTER_T", strFolder_Import & strFile, False,

閲覧数:
14,501
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

dan********さん

2009/9/416:51:43

1)FileSystemeObjectを使って1~4行目を取り除いた新しいCSVファイルを作る。
2)新しいCSVファイルをインポートする
DoCmd.TransferText acImportFixed・・・・・・で新しいCSVファイルを指定する。
3)1で作成した使用済みCSVファイルを削除する。

サンプルコードです。既存のイベントに追加修正して下さい。


Dim FSO As Object
Dim InFile As Object
Dim Outfile As Object

Dim CsvPath As String
Dim WorkPath As String
Dim i As Long
Const skipRow = 4''4行読み飛ばしの4


''元のCSVファイルのフルパスに変更して!
CsvPath = "C:\Sample\book.csv"

''新しく作るCSVファイル。このMDBがあるフォルダにWork.csv 名で作られます。
WorkPath = CurrentProject.Path & "\Work.csv"

'' FileSystemObjectのセット
Set FSO = CreateObject("scripting.FileSystemObject")
Set InFile = FSO.OpenTextFile(CsvPath, 1)
Set Outfile = FSO.createTextFile(WorkPath)

'' 読み飛ばし設定
For i = i To skipRow

InFile.SkipLine

Next i

''新しいCSVファイル作成
Outfile.Write InFile.ReadAll

''CSVファイルの終了と解放処理
Outfile.Close
InFile.Close
Set Outfile = Nothing
Set InFile = Nothing

''Work.CSVファイルのインポート(今のDocmd以下をコピーし、ファイル名等を変更!)
DoCmd.TransferText ・・・・・・

''使用済みのWork.CSVを削除
FSO.DeleteFile WorkPath

''FileSystemObjectの解放
Set FSO = Nothing

この回答は投票によってベストアンサーに選ばれました!

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる