Excel VBA質問箱 IV

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

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


9466 / 13644 ツリー ←次へ | 前へ→

【27054】テキストファイル(;区切り)の読み込みについて aki 05/7/27(水) 11:32 質問[未読]
【27055】Re:テキストファイル(;区切り)の読み込... 小僧 05/7/27(水) 12:01 回答[未読]
【27176】Re:テキストファイル(;区切り)の読み込み... Jaka 05/8/1(月) 10:01 発言[未読]

【27054】テキストファイル(;区切り)の読み込み...
質問  aki  - 05/7/27(水) 11:32 -

引用なし
パスワード
   みなさま、はじめまして。
セミコロン区切りのファイルを読み込んで、
指定のセルに読み込んだデータを貼り付ける処理についての質問です。

textOpenメソッドで取得すると、認識しておりますが、
間違っていないでしょうか?

指定のセルに貼り付けることはできないのでしょうか?
何かよい方法がございましたら、ご教授願います。

Workbooks.OpenText Filename:="c:\test2.txt", StartRow:=1, _
    DataType:=xlDelimited, Semicolon:=True, _
    FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), _
             Array(4, 1), Array(5, 1), Array(6, 1), _
             Array(7, 1), Array(8, 1), Array(9, 1), _
             Array(10, 1), Array(11, 1))

【27055】Re:テキストファイル(;区切り)の読み込...
回答  小僧  - 05/7/27(水) 12:01 -

引用なし
パスワード
   ▼aki さん:
こんにちは。

「FileSystemObject」を使用した例です。

Sub セミコロン区切り取込()
Dim FSO As Object
Dim rFile As Object
Dim rName As String
Dim rLine As String
Dim rTxt As Variant
Dim Kiten As Range   '基点にしたいセル
Dim y As Long
Dim x As Long

  rName = "C:\test2.txt"
  Set Kiten = ActiveSheet.Range("C5")
  
  Set FSO = CreateObject("Scripting.FileSystemObject")
  Set rFile = FSO.OpenTextFile(rName)
    
    y = 0
    Do Until rFile.AtEndofStream
      rLine = rFile.ReadLine
      rTxt = Split(rLine, ";")
        For x = 0 To UBound(rTxt)
          Kiten.Offset(y, x).Value = rTxt(x)
        Next
      y = y + 1
    Loop
  rFile.Close: Set rFile = Nothing
  Set FSO = Nothing
  Set Kiten = Nothing
End Sub

外していたらすみません。

【27176】Re:テキストファイル(;区切り)の読み込...
発言  Jaka  - 05/8/1(月) 10:01 -

引用なし
パスワード
   こんにちは。

2000以上だったら、データ → 外部データの取り込み の中にテキストを読み込む見たいのがあったと思います。それを使うと書き込み場所を指定できます。下記コードみたいな感じで...。
ただ、セミコロン区切りで読み込めるのかは解りません。

現在は、97なので詳しくは覚えてませんが...。


  STAdd="C3"
  With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & OpenFile, _
     Destination:=Range(STAdd)) ←これがスタート位置
    .AdjustColumnWidth = False
    .TextFilePlatform = xlWindows
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    '↓ 外すと全て 標準/G になる。
    '.TextFileColumnDataTypes = Array(2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
    .TextFileColumnDataTypes = TBL
    .Refresh BackgroundQuery:=False
  End With

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