Sub Sample()
Dim TextPath As String
'テキストファイルのパスを取得
TextPath = ActiveWorkbook.Path & "\Staff.txt"
'Openメソッドでテキストファイルを開く(1つのセルに1行分が入る)
'Workbooks.Open TextPath '---(1)
'OpenTextメソッドでテキストファイルを開く(区切り文字でセルに分かれる)
Workbooks.OpenText Filename:=TextPath, _
DataType:=xlDelimited, _
Tab:=True, _
Semicolon:=False, _
Comma:=True, _
Space:=False, _
Other:=True, _
Otherchar:="/" '---(2)
'列幅を調整する
ActiveSheet.UsedRange.EntireColumn.AutoFit
Range("A1").Select
End Sub
' テキストファイル読み込み
Sub READ_TextFile()
Const cnsTITLE = "テキストファイル読み込み処理"
Const cnsFILTER = "全てのファイル (*.*),*.*"
Dim xlAPP As Application ' Applicationオブジェクト
Dim intFF As Integer ' FreeFile値
Dim strFileName As String ' OPENするファイル名(フルパス)
Dim vntFileName As Variant ' ファイル名受取用
Dim strREC As String '
読み込んだレコード内容
Dim GYO As Long ' 収容するセルの行
Dim lngREC As Long ' レコード件数カウンタ '
Applicationオブジェクト取得
Set xlAPP =
Application
' ① ' 「ファイルを開く」のダイアログでファイル名の指定を受ける
xlAPP.StatusBar = "読み込むファイル名を指定して下さい。"
vntFileName = xlAPP.GetOpenFilename(FileFilter:=cnsFILTER,
_
Title:=cnsTITLE) ' ② ' キャンセルされた場合はFalseが返るので以降の処理は行なわない
If VarType(vntFileName) = vbBoolean Then Exit
Sub ' ③
strFileName = vntFileName
' FreeFile値の取得(以降この値で入出力する)
intFF =
FreeFile
' ④ ' 指定ファイルをOPEN(入力モード)
Open strFileName For Input As #intFF ' ⑤
GYO = 1
' ファイルのEOF(End of File)まで繰り返す
Do Until EOF(intFF)
' ⑥ ' レコード件数カウンタの加算
lngREC = lngREC + 1
xlAPP.StatusBar = "読み込み中です....(" & lngREC & "レコード目)"
' 改行までをレコードとして読み込む
Line Input #intFF,
strREC
' ⑦ ' 行を加算しA列にレコード内容を表示(先頭は2行目)
GYO = GYO + 1
Cells(GYO, 1).Value =
strREC
' ⑧
Loop
' 指定ファイルをCLOSE
Close #intFF
' ⑨
xlAPP.StatusBar = False
' 終了の表示
MsgBox "ファイル読み込みが完了しました。" & vbCr & _ "レコード件数=" & lngREC & "件", vbInformation, cnsTITLE
End Sub
' カンマ(,)区切りのテキストファイルを読む
Workbooks.OpenText Filename:="c:\a.csv", DataType:=xlDelimited, Comma:=True
' タブ区切りのテキストファイルを読む
Workbooks.OpenText Filename:="c:\a.csv", DataType:=xlDelimited, Tab:=True
' セミコロン(;)区切りのテキストファイルを読む
Workbooks.OpenText Filename:="c:\a.csv", DataType:=xlDelimited, Semicolon:=True
' 空白区切りのテキストファイルを読む
Workbooks.OpenText Filename:="c:\a.csv", DataType:=xlDelimited, Space:=True
' 任意文字区切りのテキストファイルを読む
Workbooks.OpenText Filename:="c:\a.csv", DataType:=xlDelimited, Other:=True, _
OtherChar:="\"
' 1列目にテキスト型を指定
Workbooks.OpenText Filename:="c:\a.csv", DataType:=xlDelimited,
Comma:=True,
fieldinfo:=Array(1, 2)
' 1列目にテキスト型を指定、2列目に日付型を指定
Workbooks.OpenText Filename:="c:\a.csv", DataType:=xlDelimited, Comma:=True,
fieldinfo:=Array(Array(1, 2), Array(2, 4))
' カレントフォルダを取得する
Msgbox Application.DefaultFilePath
' カレントフォルダを設定する
Application.DefaultFilePath = "c:\"
' カレントフォルダを取得する(ドライブ指定)
Msgbox CurDir("d")
' カレントドライブを変更する
ChDrive "d"
' ワークシート数を取得
Msgbox Worksheets.Count
' シート数を取得
Msgbox Sheets.Count