@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

ExcelでCSVファイルを開くとき

投稿者投稿内容
SE卵
大ベテラン
会議室デビュー日: 2004/10/22
投稿数: 135
投稿日時: 2005-01-26 13:59
Beatleさん、ご返信ありがとうございます。

今ちょうど私も同じ事をやっていました。「外部データの取り込み」でやると
出来ますね。なんとかこれで先に進めそうです。。。

ただ、OpenTextメソッドは、拡張子「.csv」は対応していないんですかね?
だとするなら、少し不便ですよね。とにかく今回はこれで出来そうなので良か
ったです。

Beatleさんをはじめ、長々とお付き合いくださった方ほんとにありがとうご
ざいました。
ゆうじゅん
ぬし
会議室デビュー日: 2004/01/16
投稿数: 347
投稿日時: 2005-01-26 15:09
そもそも「CSV」ファイルは「CSV形式」のファイルなので、カンマ区切りと
解釈されるのは間違いではないと思います。↓参照

http://www.atmarkit.co.jp/icd/root/09/5783609.html

「タブ区切り」のCSVファイルというのは厳密に言えば存在せず、正確には
「タブ区切り」のテキスト形式のファイルなので、拡張子は「CSV」ではなく
「TXT」にしたほうがいいと思います

るぱん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 1370
投稿日時: 2005-01-26 22:44
TDVという形式のファイルもあるのだよ。。。
現場がめんどくさがって拡張子txtが大流行しただけなのだよ・・・。

txtで統一・・・と言うよりも、以前はファイル拡張子で中にどんなファイルが入っているかおおよその予想はついたんですよ。。。

.datってファイルご存知ですか?
_________________
未記入
会議室デビュー日: 2005/01/28
投稿数: 1
投稿日時: 2005-01-28 16:24
フォルダーが燃えてますよ^^;
火を消しましょうね
本題ですが、私がファイルを読み込むときに使用する方法を教えますね
Sub nnn()

Dim sReadData, ss
Dim sWriteData
Dim mReadDara

nCol = 1: nRow = 1

Open "C:\Documents and Settings\ぼん\デスクトップ\ac.csv" For Input As #1
sWriteData = StrConv(InputB(LOF(1), 1), vbUnicode)
Close #1

For lngCount = 1 To Len(sWriteData)
sReadData = Mid(sWriteData, lngCount, 1)

If sReadData = Chr(9) Then
SetNo1 = 1
Cells(nRow, nCol) = mReadDara
nCol = nCol + 1
mReadDara = ""
ElseIf sReadData = Chr(13) Then
If SetNo = 0 Then
Cells(nRow, nCol) = mReadDara
nCol = 1
nRow = nRow + 1
End If
mReadDara = ""
Else
If sReadData = Chr(10) Then
Else
mReadDara = mReadDara & sReadData
End If
End If
Next lngCount

End Sub
SE卵
大ベテラン
会議室デビュー日: 2004/10/22
投稿数: 135
投稿日時: 2005-01-28 17:04
みなさん、いろいろと情報提供ありがとうございます。
違う方法で解決済とはいえ、勉強になります。

結局、「外部データの取り込み」で進めていたのですか、"「txt」でいいよ"
という一言でOpenTextメソッドでやることになりました。.txtの場合は何か
しら問題があるわけではなく順調に実装できました。


ところで、未記入さんが下記のように書いていますが、火ってどうやって
消すですか?
引用:

フォルダーが燃えてますよ^^;
火を消しましょうね



関係ないことですいません。

スキルアップ/キャリアアップ(JOB@IT)