OpenTextメソッド解説(Excel VBA)

Excel VBAのOpenTextメソッドについて

OpenTextメソッドは、Excel VBAでテキストファイルを開くためのメソッドです。このメソッドを使用すると、異なるパラメーターを指定してテキストファイルを開き、その内容をExcelのワークシートに読み込むことが可能です。

OpenTextメソッドの構文


Workbooks.OpenText(Filename, StartRow, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers, Local)

ここで、OpenTextメソッドのパラメーターは以下の通りです:

  • Filename: 開くテキストファイルの名前。必須パラメーターです。
  • StartRow: データが始まる行。デフォルトは1行目です。
  • DataType: データの種類。デフォルトはxlDelimitedです。xlDelimitedまたはxlFixedWidthを指定できます。
  • TextQualifier: テキスト限定子。デフォルトはxlTextQualifierDoubleQuoteです。xlTextQualifierDoubleQuote、xlTextQualifierNone、xlTextQualifierSingleQuoteを指定できます。
  • ConsecutiveDelimiter: 連続した区切り記号を1つとして扱うかどうかを指定します。デフォルトはFalseです。
  • Tab, Semicolon, Comma, Space, Other: 区切り記号として扱う文字を指定します。デフォルトはすべてFalseです。
  • OtherChar: OtherパラメータがTrueの場合、ここに区切り文字を指定します。
  • FieldInfo: データフィールドの情報を指定します。2次元配列で指定します。
  • TextVisualLayout: データのレイアウトを指定します。デフォルトはxlVisualLayoutNoneです。xlVisualLayoutNone、xlVisualLayoutLeftToRight、xlVisualLayoutRightToLeftを指定できます。
  • DecimalSeparator, ThousandsSeparator: 小数点と千位区切りの記号を指定します。
  • TrailingMinusNumbers: 負の数にマイナス記号を付ける位置を指定します。
  • Local: 国や地域の設定を適用するかどうかを指定します。デフォルトはFalseです。

OpenTextメソッドのサンプルコード

以下に、OpenTextメソッドを使用してテキストファイルを開き、その内容をExcelワークシートに読み込むサンプルコードを示します。


Sub OpenTextFile()
    Workbooks.OpenText "C:\temp\sample.txt", DataType:=xlDelimited, Tab:=True
End Sub

このコードでは、”C:\temp\sample.txt”というテキストファイルを開き、タブ区切りのデータとして読み込んでいます。DataTypeパラメータにxlDelimitedを指定することで、テキストファイルのデータを区切り文字に基づいて分割します。TabパラメータをTrueに設定することで、タブ文字が区切り文字として認識されます。

sample.txtに入力しておくサンプル用データ

ID	FirstName	LastName	Age
1	Taro	Yamada	25
2	Hanako	Sato	30
3	John	Smith	35
4	Mary	Jones	40

OpenTextメソッドを使うことで、さまざまな種類のテキストファイルを柔軟に取り扱うことが可能になります。パラメータを適切に設定することで、異なる形式のテキストデータに対応することができます。