Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8287 / 13646 ツリー ←次へ | 前へ→

【33998】ファイルの読み込み 初心 06/1/24(火) 19:13 発言[未読]
【34002】Re:ファイルの読み込み ぱっせんじゃー 06/1/24(火) 19:54 発言[未読]
【34008】Re:ファイルの読み込み inoue 06/1/24(火) 21:55 発言[未読]
【34081】Re:ファイルの読み込み 初心 06/1/26(木) 8:01 発言[未読]
【34090】Re:ファイルの読み込み inoue 06/1/26(木) 11:07 発言[未読]
【34091】Re:ファイルの読み込み inoue 06/1/26(木) 11:11 発言[未読]
【34123】Re:ファイルの読み込み 初心 06/1/26(木) 21:00 発言[未読]
【34132】Re:ファイルの読み込み inoue 06/1/27(金) 9:30 発言[未読]
【34199】Re:ファイルの読み込み 初心 06/1/28(土) 18:07 発言[未読]

【33998】ファイルの読み込み
発言  初心  - 06/1/24(火) 19:13 -

引用なし
パスワード
   txtではないのですが
通常EXCELを開いてから
カンマ・タブ・スペースなど・・・
色々試すと 何とか開くファイルが
あるのですが
そのようなファイルを
読込むVBAではどう記載すべきか
分かりません
教えて頂けないでしょうか?

【34002】Re:ファイルの読み込み
発言  ぱっせんじゃー  - 06/1/24(火) 19:54 -

引用なし
パスワード
   CSVファイルのことかな?

【34008】Re:ファイルの読み込み
発言  inoue E-MAILWEB  - 06/1/24(火) 21:55 -

引用なし
パスワード
   >txtではないのですが
>通常EXCELを開いてから
>カンマ・タブ・スペースなど・・・
>色々試すと 何とか開くファイルが
>あるのですが
いいえ、テキストファイルなのです。
試しに「メモ帳」で開いてみて下さい。

>そのようなファイルを
>読込むVBAではどう記載すべきか
>分かりません
>教えて頂けないでしょうか?
テキストとして読み込む場合や、
読み込んでからセパレータで分解する場合など、
以下のページから数ページにいろいろあります。
[テキストデータの読み込み]
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110.html

【34081】Re:ファイルの読み込み
発言  初心  - 06/1/26(木) 8:01 -

引用なし
パスワード
   ▼inoue さん:ありがとうございます!!

>いいえ、テキストファイルなのです。
>試しに「メモ帳」で開いてみて下さい。
上記確かに開きました!!

>>そのようなファイルを
>>読込むVBAではどう記載すべきか
>>分かりません
>>教えて頂けないでしょうか?
Option Explicit

' テキストファイル読み込みサンプル
Sub READ_TextFile()
  Const cnsTITLE = "テキストファイル読み込み処理"
  Const cnsFILTER = "全てのファイル (*.*),*.*"
  Dim xlAPP As Application    ' Applicationオブジェクト
  Dim intFF As Integer      ' FreeFile値
  Dim strFILENAME As String    ' OPENするファイル名(フルパス)
  Dim strREC As String      ' 読み込んだレコード内容
  Dim GYO As Long         ' 収容するセルの行
  Dim lngREC As Long       ' レコード件数カウンタ

  ' Applicationオブジェクト取得
  Set xlAPP = Application                    ' 1.
  ' 「ファイルを開く」のフォームでファイル名の指定を受ける
  xlAPP.StatusBar = "読み込むファイル名を指定して下さい。"
  strFILENAME = xlAPP.GetOpenFilename(FileFilter:=cnsFILTER, _
    Title:=cnsTITLE)                     ' 2.
  ' キャンセルされた場合は以降の処理は行なわない
  If StrConv(strFILENAME, vbUpperCase) = "FALSE" Then Exit Sub ' 3.

  ' FreeFile値の取得(以降この値で入出力する)
  intFF = FreeFile                       ' 4.
  ' 指定ファイルをOPEN(入力モード)
  Open strFILENAME For Input As #intFF             ' 5.
  GYO = 1
  ' ファイルのEOF(End of File)まで繰り返す
  Do Until EOF(intFF)                      ' 6.
    ' レコード件数カウンタの加算
    lngREC = lngREC + 1
    xlAPP.StatusBar = "読み込み中です....(" & lngREC & "レコード目)"
    ' 改行までをレコードとして読み込む
    Line Input #intFF, strREC                 ' 7.
    ' 行を加算しA列にレコード内容を表示(先頭は2行目)
    GYO = GYO + 1
    Cells(GYO, 1).Value = strREC               ' 8.
  Loop
  ' 指定ファイルをCLOSE
  Close #intFF                         ' 9.
  xlAPP.StatusBar = False
  ' 終了の表示
  MsgBox "ファイル読み込みが完了しました。" & vbCr & _
    "レコード件数=" & lngREC & "件", vbInformation, cnsTITLE
End Sub

上記 色々試してみたのですが
要らない部分を省きながら・・
そしたら 動かず
最初の ページに取り込む際に
通常タブ・カンマの選択と同時にプレビューが出来ると思うのですが
それを見ながら判断しています。
その部分が省かれていて+A列に全て入ってしまい
困っています・・
何枚かを次々開き フォームを合わせたく
どうか ご伝授お願い致します

【34090】Re:ファイルの読み込み
発言  inoue E-MAILWEB  - 06/1/26(木) 11:07 -

引用なし
パスワード
   >その部分が省かれていて+A列に全て入ってしまい
>困っています・・
Line Input #intFF, strREC
この行の下でデバッグしてもらうと、
strRECに改行までの1行分のテキストが入るはずです。

各列に分解したいなら、Split関数でデリミタ文字を指定して
分解して下さい。
[例]
Dim tblREC As Variant, COL As Long
を追加して、
Line Input #intFF, strREC              ' 7.
tblREC = Split(strREC, ",")
COL = UBound(tblREC) + 1
GYO = GYO + 1
Range(Cells(GYO, 1), Cells(GYO, COL)).Value = tblREC ' 8.

「Split(strREC, ",")」はカンマ区切りの場合で、
タブ区切りなら「Split(strREC, vbTab)」です。

【34091】Re:ファイルの読み込み
発言  inoue E-MAILWEB  - 06/1/26(木) 11:11 -

引用なし
パスワード
   ▼初心 さん:
>要らない部分を省きながら・・
>そしたら 動かず
上記URLにある3つのサンプルコードのうち、
2番目の
「中核となる記述はこれだけです。」
のところのサンプルから始める方が簡単です。

CSVに関する説明とサンプルは、次のページにもあります。

【34123】Re:ファイルの読み込み
発言  初心  - 06/1/26(木) 21:00 -

引用なし
パスワード
   ▼inoue さん:
>▼初心 さん:
本当にありがとうございます!!
inoueさんので試してみました。
1枚はRange(Cells(GYO, 1), Cells(GYO, COL)).Value = tblREC ' 8.

「Split(strREC, ",")」はカンマ区切りの場合で、
タブ区切りなら「Split(strREC, vbTab)」です。
のところをスペースで解決致しました ^ ^

他マクロではなく 手で実際 どの部分が必要か
見てみました。

1つ最悪なのは・・区切り文字・スペース・カンマ&
"連続した区切りは1文字として扱う"の所が
選択されないとバラバラ状態で・・
上記はどの様に記述すべきか分かりませんxxx
申し訳ありません
上記教えて頂けないでしょうか?

【34132】Re:ファイルの読み込み
発言  inoue E-MAILWEB  - 06/1/27(金) 9:30 -

引用なし
パスワード
   >他マクロではなく 手で実際 どの部分が必要か
>見てみました。
>1つ最悪なのは・・区切り文字・スペース・カンマ&
>"連続した区切りは1文字として扱う"の所が
>選択されないとバラバラ状態で・・
よく分かりません。
文脈のように「目」で見て判断するということなら、
マクロのロジックにはなりません。

【34199】Re:ファイルの読み込み
発言  初心  - 06/1/28(土) 18:07 -

引用なし
パスワード
   ▼inoue さん:ありがとうございます
>>他マクロではなく 手で実際 どの部分が必要か
>>見てみました。
>>1つ最悪なのは・・区切り文字・スペース・カンマ&
>>"連続した区切りは1文字として扱う"の所が
>>選択されないとバラバラ状態で・・
>よく分かりません。
>文脈のように「目」で見て判断するということなら、
>マクロのロジックにはなりません。

そうなんですか・・・
途中まで読み込み出来る状態で
この上記クリアでなんとかできそうだったのですが
すごく残念です。。。。
でも、色々教えて頂き本当に有難う御座います!!

8287 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free