Excelでテキストファイルを開く(OpenText メソッド)
Excelでテキストファイルを開く
OpenText メソッドで、テキストファイルを 1 枚のシートとして、それを含む新規ブックを開きます。
object.OpenText ( filename [, origin, startrow, datatype, textqualifier, consecutivedelimiter, tab, semicolon, comma, space, other, otherchar, fieldinfo, textvisuallayout, decimalseparator, thousandsseparator, trailingminusnumbers, local ] )
引数・戻り値
- object ・・・ 対象となる Workbooks コレクションを指定します。
- filename ・・・ 開きたいテキストファイルの名前を文字列式で指定します。パスを含むことも可能です。パスを省略した場合は、カレントフォルダ内のファイルが対象となります。
- origin ・・・ テキストファイルの作成元のプラットフォームを表す XlPlatform 列挙型 の定数またはその値を指定します。省略した場合、テキストファイルウィザードに設定されている「元のファイル」の現在の設定値が使用されます。
定数
値
内容
xlMacintosh
1
Macintosh
xlWindows
2
Microsoft Windows
xlMSDOS
3
MS-DOS
- startrow ・・・ 読み込みを開始する行を指定します。省略可。既定値は、1 です。
- datatype ・・・ テキストファイルのデータの形式を表す XlTextParsingType 列挙型 の定数またはその値を指定します。省略可。
定数
値
内容
xlDelimited
1
区切り文字(タブ、カンマなど)によって区切られます(既定値)
xlFixedWidth
2
各列の文字数が一定(固定長フィールド形式)
- textqualifier ・・・ データの引用符を表す XlTextQualifier 列挙型 の定数またはその値を指定します。省略可。
定数
値
内容
xlTextQualifierDoubleQuote
1
二重引用符(”)既定値
xlTextQualifierSingleQuote
2
一重引用符(’)
xlTextQualifierNone
-4142
引用符なし
- consecutivedelimiter ・・・ 連続した区切り文字を 1 文字として扱うときは True を指定します。既定値は False です。
- tab ・・・ 引数 datatype に xlDelimited を指定、区切り文字にタブを使うときは True を指定します。既定値は False です。
- semicolon ・・・ 引数 datatype に xlDelimited を指定、区切り文字にセミコロン(;)を使うときは True を指定します。既定値は False です。
- comma ・・・ 引数 datatype に xlDelimited を指定、区切り文字にカンマ(,)を使うときは True を指定します。既定値は False です。
- space ・・・ 引数 datatype に xlDelimited を指定、区切り文字にスペースを使うときは True を指定します。既定値は False です。
- other ・・・ 引数 datatype に xlDelimited を指定、区切り文字に、引数 otherchar で指定した文字を使うときは True を指定します。既定値は False です。
- otherchar ・・・ 引数 other が True のとき、区切り文字を指定します。複数の文字を指定したときは、先頭の文字が区切り文字となり、残りの文字は無視されます。
- fieldinfo ・・・ 各列のデータ形式または固定長フィールド形式の区切り位置を配列(Array 関数)で指定します。⇒ 詳細
- textvisuallayout ・・・ テキストの視覚的な配置を指定します。省略可。
- decimalseparator ・・・ Excel で数値を認識する場合に使う小数点の記号を指定します。省略可。既定値は「地域と言語のオプション」の設定値となります。
- thousandsseparator ・・・ Excel で数値を認識する場合に使う桁区切り記号を指定します。省略可。既定値は「地域と言語のオプション」の設定値となります。
- trailingminusnumbers ・・・ 末尾に負を表す符号が付く数値を負の数値として扱う場合は、True を指定します。文字列として扱う場合は、False を指定するか、引数を省略します。
- local ・・・ 区切り記号、数値、およびデータの書式にコンピューターの「地域設定と言語のオプション」を使用する場合は、True を指定します。省略可。既定値は、False です。
引数 fieldinfo についての詳細
(1)引数 datatype に、xlDelimited が指定されている場合
各列ごとに、Array 関数を使用し、Array ( [列番号], [変換形式] ) という形で指定します。[変換形式] には、XlColumnDataType 列挙型 の定数またはその値を指定します。
引数 fieldinfo を省略すると、すべての列は、標準形式で、読み込まれます。
(例) fieldinfo = Array( Array(1,2), Array(2,5), Array(3,1), Array(4,9) )
(2)引数 datatype に、xlFixedWidth が指定されている場合(固定長フィールド形式)
各列ごとに、Array 関数を使用し、Array ( [開始位置], [変換形式] ) という形で指定します。[変換形式] には、XlColumnDataType 列挙型 の定数またはその値を指定します。
引数 fieldinfo を省略することはできません。
(例) fieldinfo = Array( Array(1,2), Array(6,2), Array(25,1) )
XlColumnDataType 列挙型
定数
値
内容
xlGeneralFormat
1
標準
xlTextFormat
2
文字列
xlMDYFormat
3
MDY(月日年)日付形式
xlDMYFormat
4
DMY(日月年)日付形式
xlYMDFormat
5
YMD(年月日)日付形式
xlMYDFormat
6
MYD(月年日)日付形式
xlDYMFormat
7
DYM(日年月)日付形式
xlYDMFormat
8
YDM(年日月)日付形式
xlSkipColumn
9
この列は読み込まれません
xlEMDFormat
10
EMD(台湾年月日)日付形式
- object ・・・ 対象となる Workbooks コレクションを指定します。
- filename ・・・ 開きたいテキストファイルの名前を文字列式で指定します。パスを含むことも可能です。パスを省略した場合は、カレントフォルダ内のファイルが対象となります。
- origin ・・・ テキストファイルの作成元のプラットフォームを表す XlPlatform 列挙型 の定数またはその値を指定します。省略した場合、テキストファイルウィザードに設定されている「元のファイル」の現在の設定値が使用されます。
定数 値 内容 xlMacintosh 1 Macintosh xlWindows 2 Microsoft Windows xlMSDOS 3 MS-DOS - startrow ・・・ 読み込みを開始する行を指定します。省略可。既定値は、1 です。
- datatype ・・・ テキストファイルのデータの形式を表す XlTextParsingType 列挙型 の定数またはその値を指定します。省略可。
定数 値 内容 xlDelimited 1 区切り文字(タブ、カンマなど)によって区切られます(既定値) xlFixedWidth 2 各列の文字数が一定(固定長フィールド形式) - textqualifier ・・・ データの引用符を表す XlTextQualifier 列挙型 の定数またはその値を指定します。省略可。
定数 値 内容 xlTextQualifierDoubleQuote 1 二重引用符(”)既定値 xlTextQualifierSingleQuote 2 一重引用符(’) xlTextQualifierNone -4142 引用符なし - consecutivedelimiter ・・・ 連続した区切り文字を 1 文字として扱うときは True を指定します。既定値は False です。
- tab ・・・ 引数 datatype に xlDelimited を指定、区切り文字にタブを使うときは True を指定します。既定値は False です。
- semicolon ・・・ 引数 datatype に xlDelimited を指定、区切り文字にセミコロン(;)を使うときは True を指定します。既定値は False です。
- comma ・・・ 引数 datatype に xlDelimited を指定、区切り文字にカンマ(,)を使うときは True を指定します。既定値は False です。
- space ・・・ 引数 datatype に xlDelimited を指定、区切り文字にスペースを使うときは True を指定します。既定値は False です。
- other ・・・ 引数 datatype に xlDelimited を指定、区切り文字に、引数 otherchar で指定した文字を使うときは True を指定します。既定値は False です。
- otherchar ・・・ 引数 other が True のとき、区切り文字を指定します。複数の文字を指定したときは、先頭の文字が区切り文字となり、残りの文字は無視されます。
- fieldinfo ・・・ 各列のデータ形式または固定長フィールド形式の区切り位置を配列(Array 関数)で指定します。⇒ 詳細
- textvisuallayout ・・・ テキストの視覚的な配置を指定します。省略可。
- decimalseparator ・・・ Excel で数値を認識する場合に使う小数点の記号を指定します。省略可。既定値は「地域と言語のオプション」の設定値となります。
- thousandsseparator ・・・ Excel で数値を認識する場合に使う桁区切り記号を指定します。省略可。既定値は「地域と言語のオプション」の設定値となります。
- trailingminusnumbers ・・・ 末尾に負を表す符号が付く数値を負の数値として扱う場合は、True を指定します。文字列として扱う場合は、False を指定するか、引数を省略します。
- local ・・・ 区切り記号、数値、およびデータの書式にコンピューターの「地域設定と言語のオプション」を使用する場合は、True を指定します。省略可。既定値は、False です。
引数 fieldinfo についての詳細
(1)引数 datatype に、xlDelimited が指定されている場合
各列ごとに、Array 関数を使用し、Array ( [列番号], [変換形式] ) という形で指定します。[変換形式] には、XlColumnDataType 列挙型 の定数またはその値を指定します。
引数 fieldinfo を省略すると、すべての列は、標準形式で、読み込まれます。
(例) fieldinfo = Array( Array(1,2), Array(2,5), Array(3,1), Array(4,9) )
(2)引数 datatype に、xlFixedWidth が指定されている場合(固定長フィールド形式)
各列ごとに、Array 関数を使用し、Array ( [開始位置], [変換形式] ) という形で指定します。[変換形式] には、XlColumnDataType 列挙型 の定数またはその値を指定します。
引数 fieldinfo を省略することはできません。
(例) fieldinfo = Array( Array(1,2), Array(6,2), Array(25,1) )
XlColumnDataType 列挙型
定数 | 値 | 内容 |
xlGeneralFormat | 1 | 標準 |
xlTextFormat | 2 | 文字列 |
xlMDYFormat | 3 | MDY(月日年)日付形式 |
xlDMYFormat | 4 | DMY(日月年)日付形式 |
xlYMDFormat | 5 | YMD(年月日)日付形式 |
xlMYDFormat | 6 | MYD(月年日)日付形式 |
xlDYMFormat | 7 | DYM(日年月)日付形式 |
xlYDMFormat | 8 | YDM(年日月)日付形式 |
xlSkipColumn | 9 | この列は読み込まれません |
xlEMDFormat | 10 | EMD(台湾年月日)日付形式 |
Open メソッド とは違い、Workbook オブジェクト を返しません。
Dim w As Workbook
Set w = OpenText(“Book1.xls”)
とすると、エラーが発生します。
OpenText メソッド 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Sub Sample_OpenText() Dim w As Workbook Workbooks.OpenText Filename:="C:\Documents\user01.txt", _ DataType:=xlDelimited, _ Comma:=True, _ FieldInfo:=Array(Array(1, 1), Array(2, 2), Array(3, 5)) Set w = Workbooks(Workbooks.Count) w.ActiveSheet.Cells.Columns.AutoFit MsgBox w.Name w.Close Set w = Nothing End Sub |
実行結果
関連記事
-
ファイル属性の取得・設定(GetAttr 関数・SetAttr ステートメント)
ファイル属性の取得(GetAttr 関数) ファイルやフォルダ(ディレクトリ)の …
-
ファイルのタイムスタンプを取得(FileDateTime 関数)
ファイルのタイムスタンプを取得 ファイルのタイムスタンプを取得するには、File …
-
テキストファイル(Open ステートメント・Close ステートメント)
新規ブックを開かずにテキストファイルを開く OpenText ステートメント を …
-
Excel を終了する(Quit メソッド)
Excel を終了する(Quit メソッド) Quit メソッドを実行すると、E …
-
「名前を付けて保存」ダイアログボックスを表示(GetSaveAsFilename メソッド)
GetSaveAsFilename メソッド 「名前を付けて保存」ダイアログボッ …
-
組み込みダイアログボックスの引数一覧
組み込みダイアログボックスの引数一覧 Excel の組み込みダイアログボックスを …
-
ディレクトリまたはフォルダの削除(RmDir ステートメント)
ディレクトリまたはフォルダの削除 ディレクトリまたはフォルダを削除するには、Rm …
-
FileDialogFilters コレクション・FileDialogFilter オブジェクト
FileDialogFilters コレクション FileDialog オブジェ …
-
テキストファイル:データを読み込む(Input 関数・InputB 関数)
Input 関数・InputB 関数 Open ステートメントをシーケンシャル入 …
-
テキストファイル:出力する 1 行の幅を設定(Width # ステートメント)
Width # ステートメント Open ステートメント をシーケンシャル出力モ …