ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

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  ・・・  引数 datatypexlDelimited を指定、区切り文字にタブを使うときTrue を指定します。既定値は False です。
  • semicolon  ・・・  引数 datatypexlDelimited を指定、区切り文字にセミコロン(;)を使うときTrue を指定します。既定値は False です。
  • comma  ・・・  引数 datatypexlDelimited を指定、区切り文字にカンマ(,)を使うときTrue を指定します。既定値は False です。
  • space  ・・・  引数 datatypexlDelimited を指定、区切り文字にスペースを使うときTrue を指定します。既定値は False です。
  • other  ・・・  引数 datatypexlDelimited を指定、区切り文字に、引数 otherchar で指定した文字を使うときTrue を指定します。既定値は False です。
  • otherchar  ・・・  引数 otherTrue のとき、区切り文字を指定します。複数の文字を指定したときは、先頭の文字が区切り文字となり、残りの文字は無視されます。
  • 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ソース


実行結果

OpenText メソッド



 - Excel・ファイルの操作 , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

GetAttr 関数
ファイル属性の取得・設定(GetAttr 関数・SetAttr ステートメント)

ファイル属性の取得(GetAttr 関数) ファイルやフォルダ(ディレクトリ)の …

FileDateTime 関数
ファイルのタイムスタンプを取得(FileDateTime 関数)

ファイルのタイムスタンプを取得 ファイルのタイムスタンプを取得するには、File …

Open ステートメント・Close ステートメント
テキストファイル(Open ステートメント・Close ステートメント)

新規ブックを開かずにテキストファイルを開く OpenText ステートメント を …

Excel を終了する(Quit メソッド)

Excel を終了する(Quit メソッド) Quit メソッドを実行すると、E …

「名前を付けて保存」ダイアログボックスを表示(GetSaveAsFilename メソッド)

GetSaveAsFilename メソッド 「名前を付けて保存」ダイアログボッ …

no image
組み込みダイアログボックスの引数一覧

組み込みダイアログボックスの引数一覧 Excel の組み込みダイアログボックスを …

RmDir ステートメント 00
ディレクトリまたはフォルダの削除(RmDir ステートメント)

ディレクトリまたはフォルダの削除 ディレクトリまたはフォルダを削除するには、Rm …

FileDialogFilters コレクション・FileDialogFilter オブジェクト

FileDialogFilters コレクション FileDialog オブジェ …

テキストファイル:データを読み込む(Input 関数・InputB 関数)

Input 関数・InputB 関数 Open ステートメントをシーケンシャル入 …

Width # ステートメント
テキストファイル:出力する 1 行の幅を設定(Width # ステートメント)

Width # ステートメント Open ステートメント をシーケンシャル出力モ …