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

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

  関連記事

特殊フォルダ
特殊フォルダを取得(wsh.SpecialFolders)

CreateObject 関数:特殊フォルダを取得(WSH.SpecialFol …

LOF 関数・Loc 関数
開いているファイルのサイズ・位置の取得(LOF 関数・Loc 関数)

LOF 関数 Open ステートメント により開かれたファイルのサイズをバイト単 …

Write # ステートメント 00
テキストファイル:データを書き込む(Write # ステートメント)

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

Seek ステートメント 1-1
開いているファイルの読み取り位置または書き込み位置を設定(Seek ステートメント)

Seek ステートメント Open ステートメント で開いているファイルで、次に …

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

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

FileLen 関数
ファイルサイズを取得(FileLen 関数)

ファイルサイズを取得 ファイルのサイズ(バイト数)を取得するには、FileLen …

Get ステートメント Binary モード 01
テキストファイル:データを読み込む(Get ステートメント)

Get ステートメント Open ステートメント をランダムアクセスモード(Ra …

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

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

Excel の組み込みダイアログボックス(Dialog, Dialogs)

Excel の組み込みダイアログボックスを表示 Dialog オブジェクト を使 …

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

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