VBA テキストファイルを開く方法

スポンサーリンク
スポンサーリンク

テキストファイルを開く方法

OpenText【オープンテキスト】メソッド

新しいブックでテキストファイルを開くには
WorkBooksコレクションの
OpenText【オープンテキスト】メソッドを使用します。

テキストファイルがタブやカンマなどの区切り文字で
区切られている場合、列ごとにデータの形式を変換したり
読み込まない列を指定したりすることができます。

OpenText【オープンテキスト】メソッドの書式

[]内は省略可能です。
オブジェクト.OpenText(FileName[,Origin,StartRow,DataType,TextQualifier
,ConsecutiveDelimiter,Tab,Semicolon,Comma,Space,Other,otherchar
,FieldInfo,TextVisualLayout,DecimalSeparator,ThousandsSeparator
,TrailingMinusNumbers,Local])


設定項目(引数)の説明

  • オブジェクト(必須)
    Workbooksコレクションを指定します。
  • FileName【ファイルネーム】(必須)
    開きたいテキストファイルの名前を含むパスをダブルクォテーションで
    囲んで指定します。

    パスを指定しないでファイル名だけ指定した場合は
    カレントフォルダー内のファイルが対象になります。
  • Origin【オリジン】(省略可)
    テキストファイルを作成した機種をxlPlatform列挙型の定数で指定します。
    省略した場合は、テキストファイルウィザードに設定されている
    「元のファイル」の値が指定されます。
xlPlatform列挙型の定数
定数説明
xlMacintoshマッキントッシュ
xlWindowsウィンドウズ
xlMSDOSMS-DOS
  • StartRow【スタートロウ】(省略可)
    読み込みを開始する位置を指定します。
    省略した場合は「1」が指定されます。
  • DataType【データタイプ】(省略可)
    テキストファイルのファイル形式をxlTextParsingType列挙型の定数で指定します。
    省略した場合はxlDelimitedが指定されます。
xlTextParsingType列挙型の定数
定数説明
xlDelimited
【エックスエルデリミテッド】
タブやカンマなどの区切り文字でデータが
区切られているファイル形式
xlFixedWidth
【エックスエルフィックスドワイズ】
固定された各列の文字数によって区切り位置を
判断する固定長フィールド形式
  • TextQualifier【テキストクエリファイラー】(省略可)
    データの引用符をxlTextQualifier列挙型の定数で指定します。
    省略した場合は、xlTextQualifierDoubleQuoteが指定されます。
xlTextQualifier列挙型の定数
定数説明
xlTextQualifierDoubleQuote
【エックスエルテキストクエリファイラーダブルクォート】
引用符がダブルクォーテーション
xlTextQualifierSingleQuote
【エックスエルテキストクエリファイラーシングルクォート】
引用符がシングルクォーテーション
xlTextQualifierNone
【エックスエルテキストクエリファイラーノン】
引用符なし
  • ConsecutiveDelimiter【コンセクティブデリミタ】(省略可)
    連続した区切り文字を1文字として扱う場合はTrueを指定します。
    省略した場合はFalseが指定されます。
  • Tab【タブ】(省略可)
    区切り文字が「タブ」の場合はTrueを指定します。
    引数DataTypeがxlDelimitedのときのみ有効です。
    省略した場合は、Falseが設定されます。
  • Semicolon【セミコロン】(省略可)
    区切り文字が「セミコロン」の場合はTrueを指定します。
    引数DataTypeがxlDelimitedのときのみ有効です。
    省略した場合は、Falseが設定されます。
  • Comma【カンマ】(省略可)
    区切り文字が「カンマ」の場合はTrueを指定します。
    引数DataTypeがxlDelimitedのときのみ有効です。
    省略した場合は、Falseが設定されます。
  • Space【スペース】(省略可)
    区切り文字が「スペース」の場合はTrueを指定します。
    引数DataTypeがxlDelimitedのときのみ有効です。
    省略した場合は、Falseが設定されます。
  • Other【アザー】(省略可)
    区切り文字が「タブ、セミコロン、カンマ、スペース以外
    の場合にTrueを指定し、区切り文字を引数Otherchar【アザーキャラ】で指定します。

    引数DataTypeがxlDelimitedのときのみ有効です。
    省略した場合は、Falseが設定されます。
  • Otherchar【アザーキャラ】(省略可)
    引数Other【アザー】がTrueの場合に区切り文字を指定します。
    複数の文字を指定した場合は先頭の文字だけが指定されます。
  • FieldInfo【フィールドインフォ】(省略可)
    データを読み込むときに変換するデータ形式や
    固定長フィールド形式の区切り位置を配列で指定します。

    配列はArray関数を使用して記述します。
    省略した場合は各列のデータが標準形式で読み込まれます。
    開くテキストファイルが固定長フィールド形式の場合は省略できません。
  • TextVisualLayout【テキストビュジュアルレイアウト】(省略可)
    テキストの視覚的な配置を指定します。
  • DecimalSeparator【デシマルセパレーター】(省略可)
    数値の小数点の記号を指定します。
    省略した場合は、「形式のオプション」ダイアログボックスの
    設定値が指定されます。
  • ThousandsSeparator【サウザンセパレーター】(省略可)
    数値の桁区切り記号を指定します。
    省略した場合は、「形式のオプション」ダイアログボックスの
    設定値が指定されます。
  • TrailingMinusNumbers【トレイングマイナスナンバーズ】(省略可)
    末尾に負の符号が付いているデータを、負の値として扱いたい場合に
    Trueを指定します。文字列として扱いたい場合はFalseを指定します。

    省略した場合は、Falseが指定されます。
  • Local【ローカル】(省略可)
    「形式のオプション」ダイアログボックスの設定値を使用する場合に
    Trueを指定します。
    省略した場合は、Falseが指定されます。

引数FieldInfo【フィールドインフォ】で指定するArray【アレイ】関数の使用方法

データを読み込むときに変換するデータ形式は
「Array(列番号,変換する形式)」という形で記述します。
引数FieldInfo【フィールドインフォ】に設定する場合は
FieldInfo:=Array(Array(1,変換形式),Array(2,変換形式),・・・・・・)
というような形になります。
標準形式で読み込む列も含めてすべての列をArray関数(配列)に指定します。

Array関数に指定する変換する形式はxlColumnDataType列挙型の定数で指定します。
変換の必要がない場合は「1」の標準形式を指定します。
読み込む必要のない列は「9」のスキップ列を指定します。

xlColumnDataType列挙型の定数
定数変換する形式
xlGeneralFormat 【エックスエルゼネラルフォーマット】1標準
xlTextFormat【エックスエルテキストフォーマット】2文字列
xlMDYFormat【エックスエルエムディワイフォーマット】3MDY(月日年)形式の日付
xlDMYFormat【エックスエルディエムワイフォーマット】4DMY(日月年)形式の日付
xlYMDFormat【エックスエルワイエムディフォーマット】5YMD(年月日)形式の日付
xlMYDFormat【エックスエルエムワイディフォーマット】6MYD(月年日)形式の日付
xlDYMFormat【エックスエルディワイエムフォーマット】7DYM(日年月)形式の日付
xlYDMFormat【エックスエルワイディエムフォーマット】8YDM(年日月)形式の日付
xlSkipColumn【エックスエルスキップカラム】9スキップ列
xlEMDFormat【エックスエルエーエムディフォーマット】10EMD(台湾年月日)形式の日付

固定長フィールド形式のテキストファイルを開く方法

固定長フィールド形式は、データの文字数を固定にすることに
よって各列の開始位置を判別するファイル形式です。
固定長フィールド形式のテキストファイルを開くには
引数DataTypeにxlFixedWidthを指定し、引数FieldInfoに
各列のデータの開始位置と変換する形式をArray関数を使用して指定します。

複数の区切り文字で区切られたテキストファイルを開く方法

複数の区切り文字を1文字として扱う場合は
引数ConsecutiveDelimiterにTrueを指定します。
タブとカンマで区切られたテキストファイルを開くには
引数DataTypeにxlDelimitedを指定して
引数Tabと引数CommaにTrueを指定し、さらにタブとカンマが
連続しているので、引数ConsecutiveDelimiterにTrueを指定します。

使用例としてカンマ区切りのテキストデータを読み込むをご覧ください。
以上で
テキストファイルを開く方法についての解説を終了します。
ありがとうございました。

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク