OpenText Method

Microsoft Excel Visual Basic

Show All

OpenText Method

       

Loads and parses a text file as a new workbook with a single sheet that contains the parsed text-file data.

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

expression   Required. An expression that returns one of the objects in the Applies To list.

FileName  Required String.  Specifies the file name of the text file to be opened and parsed.

Origin  Optional Variant.  Specifies the origin of the text file. Can be one of the following XlPlatform constants: xlMacintosh, xlWindows, or xlMSDOS. If this argument is omitted, the method uses the current setting of the File Origin option in the Text Import Wizard.

StartRow  Optional Variant.  The row number at which to start parsing text. The default value is 1.

DataType  Optional Variant.  Specifies the column format of the data in the file. Can be one of the following XlTextParsingType constants: xlDelimited or xlFixedWidth. If this argument is not specified, Microsoft Excel attempts to determine the column format when it opens the file.

TextQualifier  Optional XlTextQualifier.  Specifies the text qualifier.

XlTextQualifier can be one of these XlTextQualifier constants.
xlTextQualifierDoubleQuote default
xlTextQualifierNone
xlTextQualifierSingleQuote

ConsecutiveDelimiter  Optional VariantTrue to have consecutive delimiters considered one delimiter. The default is False.

Tab  Optional VariantTrue to have the tab character be the delimiter (DataType must be xlDelimited). The default value is False.

Semicolon  Optional VariantTrue to have the semicolon character be the delimiter (DataType must be xlDelimited). The default value is False.

Comma  Optional VariantTrue to have the comma character be the delimiter (DataType must be xlDelimited). The default value is False.

Space  Optional VariantTrue to have the space character be the delimiter (DataType must be xlDelimited). The default value is False.

Other  Optional VariantTrue to have the character specified by the OtherChar argument be the delimiter (DataType must be xlDelimited). The default value is False.

OtherChar  Optional Variant (required if Other is True). Specifies the delimiter character when Other is True. If more than one character is specified, only the first character of the string is used; the remaining characters are ignored.

FieldInfo  Optional xlColumnDataType.  An array containing parse information for individual columns of data. The interpretation depends on the value of DataType. When the data is delimited, this argument is an array of two-element arrays, with each two-element array specifying the conversion options for a particular column. The first element is the column number (1-based), and the second element is one of the XlColumnDataType constants specifying how the column is parsed.

XlColumnDataType can be one of these XlColumnDataType constants.
xlGeneralFormat  General
xlTextFormat  Text

xlMDYFormat  MDY date

xlDMYFormat  DMY date

xlYMDFormat  YMD date

xlMYDFormat  MYD date

xlDYMFormat  DYM date

xlYDMFormat  YDM date

xlEMDFormat  EMD date

xlSkipColumn  Skip Column

You can use xlEMDFormat only if you have installed and selected Taiwanese language support. The xlEMDFormat constant specifies that Taiwanese era dates are being used.

The column specifiers can be in any order. If there's no column specifier for a particular column in the input data, the column is parsed with the General setting. This example causes the third column to be skipped, the first column to be parsed as text, and the remaining columns in the source data to be parsed with the General setting.

Array(Array(3, 9), Array(1, 2))

If the source data has fixed-width columns, the first element in each two-element array specifies the position of the starting character in the column (as an integer; character 0 (zero) is the first character). The second element in the two-element array specifies the parse option for the column as a number between 1 and 9, as listed in the preceding table.

The following example parses two columns from a fixed-width text file. The first column includes characters 1 through 10. Characters 11, 12, 13, 14, and 15 are skipped. The second column includes character 16 through the last character in the line.

Array(Array(0, 1), Array(10, 9), Array(15, 1))

TextVisualLayout  Optional Variant.  The visual layout of the text.

DecimalSeparator  Optional Variant.  The decimal separator that Microsoft Excel uses when recognizing numbers. The default setting is the system setting.

ThousandsSeparator  Optional Variant.  The thousands separator that Excel uses when recognizing numbers. The default setting is the system setting.

The following table shows the results of importing text into Excel for various import settings. Numeric results are displayed in the rightmost column.

System decimal separator System thousands separator Decimal separator value Thousands separator value Text imported Cell value (data type)
Period Comma Comma Period 123.123,45 123,123.45 (numeric)
Period Comma Comma Comma 123.123,45 123.123,45 (text)
Comma Period Comma Period 123,123.45 123,123.45 (numeric)
Period Comma Period Comma 123 123.45 123 123.45 (text)
Period Comma Period Space 123 123.45 123,123.45 (numeric)

TrailingMinusNumbers  Optional Variant.

Local  Optional Variant.

Example

This example opens the file Data.txt and uses tab delimiters to parse the text file into a worksheet.

Workbooks.OpenText filename:="DATA.TXT", _
    dataType:=xlDelimited, tab:=True