OpenText メソッド
テキスト ファイルを分析して読み込みます。テキスト ファイルを 1 枚のシートとして、それを含む新しいブックを開きます。
-
構文
- expression.OpenText(Filename, Origin, StartRow, DataType, TextQualifier,
ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo,
DecimalSeparator, ThousandsSeparator)
-
expression
必ず指定します。対象となる Workbooks コレクションを表すオブジェクト式を指定します。
-
Filename
必ず指定します。文字列型 (String) の値を使用します。読み込まれるテキスト ファイルの名前を指定します。
-
Origin
省略可能です。バリアント型 (Variant) の値を使用します。テキスト ファイルが作成された機種を指定します。使用できる定数は、XlPlatform
クラスの xlMacintosh、xlWindows、xlMSDOS のいずれかです。この引数を省略すると、現在のテキスト ファイル ウィザードを使用している機種が指定されます。
-
StartRow
省略可能です。バリアント型 (Variant) の値を使用します。取り込む開始行を指定します。最初の行を 1 として数えます。既定値は 1
です。
-
DataType
省略可能です。バリアント型 (Variant) の値を使用します。ファイルに含まれるデータの形式を指定します。使用できる定数は、XlTextParsingType
クラスの xlDelimited または xlFixedWidth です。既定値は xlDelimited です。
-
TextQualifier
省略可能です。バリアント型 (Variant) の値を使用します。文字列の引用符を指定します。使用できる定数は、XlTextQualifier
クラスの xlTextQualifierDoubleQuote、xlTextQualifierSingleQuote、xlTextQualifierNone
です。既定値は xlTextQualifierDoubleQuote です。
-
ConsecutiveDelimiter
省略可能です。バリアント型 (Variant) の値を使用します。連続した区切り文字を 1 文字として扱うときは True を指定します。既定値は
False です。
-
Tab
省略可能です。バリアント型 (Variant) の値を使用します。引数 DataType に xlDelimited を指定し、区切り文字にタブを使うときは
True を指定します。既定値は False です。
-
Semicolon
省略可能です。バリアント型 (Variant) の値を使用します。引数 DataType に xlDelimited を指定し、区切り文字にセミコロン
(;) を使うときは True を指定します。既定値は False です。
-
Comma
省略可能です。バリアント型 (Variant) の値を使用します。引数 DataType に xlDelimited を指定し、区切り文字にカンマ
(,) を使うときは True を指定します。既定値は False です。
-
Space
省略可能です。バリアント型 (Variant) の値を使用します。引数 DataType に xlDelimited を指定し、区切り文字にスペースを使うときは
True を指定します。既定値は False です。
-
Other
省略可能です。バリアント型 (Variant) の値を使用します。引数 DataType に xlDelimited を指定し、区切り文字に
OtherChar で指定した文字を使うときは True を指定します。既定値は False です。
-
OtherChar
省略可能です。バリアント型 (Variant) の値を使用します。引数 Other が True のときは、必ずこの引数に区切り文字を指定します。複数の文字を指定したときは、先頭の文字が区切り文字となり、残りの文字は無視されます。
-
FieldInfo
省略可能です。バリアント型 (Variant) の値を使用します。各列のデータ形式を示す配列を指定します。データ形式の解釈は、引数 DataType
に指定された値によって異なります。
-
引数 DataType
が xlDelimited のとき (データが区切り文字で区切られているとき) は、この引数には 2 つの要素を持つ配列の配列を指定します。2
つの要素を持つ配列の 1 つずつが、各列の処理方法を決定します。1 番目の要素には 1 から始まる列の番号を指定し、2 番目の要素には各列の変換方法を指定する、次の
xlColumnDataType クラスの定数のいずれかを指定します。
-
定数 |
内容 |
xlGeneralFormat |
一般 |
xlTextFormat |
テキスト |
xlMDYFormat |
MDY (月日年) 形式の日付 |
xlDMYFormat |
DMY (日年月) 形式の日付 |
xlYMDFormat |
YMD (年月日) 形式の日付 |
xlMYDFormat |
MYD (月年日) 形式の日付 |
xlDYMFormat |
DYM (日年月) 形式の日付 |
xlYDMFormat |
YDM (年日月) 形式の日付 |
xlEMDFormat |
EMD (台湾年月日) 形式の日付 |
xlSkipColumn |
スキップ列 |
-
定数 xlEMDFormat
は、簡易字中国語サポートがインストールおよび選択されている場合にのみ使用できます。定数 xlEMDFormat は、日付形式に台湾の元号が使用されていることを指定します。
-
列の指定は
、どのような順番でもかまいません。指定されなかった列は、一般の形式だと解釈されます。次の例では、3 番目の列は削除され、最初の列は文字列として解釈され、残りの列は一般の形式として解釈されます。
-
Array(Array(3, 9), Array(1, 2))
-
引数 DataType
が xlFixedWidth のとき (データが固定長で区切られているとき)、配列の 1 番目の要素には、行のどの位置から処理が行われるかを
0 から始まる整数で指定します。2 番目の要素には変換方法を 1 ~ 9 の数値で指定します (上の対応表参照)。
- 次の例は、
固定長のテキスト ファイルから 2 つの列を読み込みます
。最初の列は行頭から 10 文字目までが入ります。11 文字目から 15 文字目まではスキップします。2 番目の列は 16 文字目から行の終わりまでとなります。
-
Array(Array(0, 1), Array(10, 9), Array(15, 1))
-
DecimalSeparator
省略可能です。文字列型 (String) の値を使用します。Excel で数値を認識する場合に使う小数点の記号です。既定はシステム設定です。
-
ThousandsSeparator
省略可能です。文字列型 (String) の値を使用します。Excel で数値を認識する場合に使う桁区切り記号でです。既定はシステム設定です。
-
さまざまなインポート設定
でテキストを Excel にインポートする結果を次に示します。数値の結果は右詰めで表示します。
-
システムの小数点の記号 |
システムの桁区切りの記号 |
小数点の記号の値 |
桁区切りの記号の値 |
インポートしたテキスト |
セルの値 (データ型) |
ピリオド |
カンマ |
カンマ |
ピリオド |
123.123,45 |
123,123.45 (数値) |
ピリオド |
カンマ |
カンマ |
カンマ |
123.123,45 |
123.123,45 (文字列) |
カンマ |
ピリオド |
カンマ |
ピリオド |
123123.45 |
123,123.45 (数値) |
ピリオド |
カンマ |
ピリオド |
カンマ |
123 123.45 |
123 123.45 (文字列) |
ピリオド |
カンマ |
ピリオド |
スペース |
123 123.45 |
123,123.45 (数値) |
- OpenText メソッドの使用例
- 次の使用例は、Data.txt というテキスト ファイルを、タブを区切り文字として分析し、ワークシートに変換します。
|
Option Explicit
Workbooks.OpenText Filename:="DATA.TXT", _
DataType:=xlDelimited, Tab:=True
|
|
|
|