Excel VBA教程:OpenText方法

载入一个文本文件,并将其作为包含单个工作表的工作簿进行分列处理,然后在此工作表中放入经过分列处理的文本文件数据。

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

expression   必需。该表达式返回“应用于”列表中的一个对象。

FileName   String 类型,必需。指定要载入并作分列处理的文件名。

Origin   Variant 类型,可选。指定文本文件来源。可为以下 XlPlatform 常量之一:xlMacintosh、xlWindows 或 xlMSDOS。如果省略该参数,则此方法就会使用在“文本导入向导”中的“文件来源”选项的当前设置。

StartRow   Variant 类型,可选。作分列处理的起始行号。默认值为 1。

DataType   Variant 类型,可选。在文件中指定数据的列格式。可为以下 XlTextParsingType 常量之一:xlDelimited 或 xlFixedWidth。如果未指定该参数,则 Microsoft Excel 将在打开此文件时确定列格式。

TextQualifier  XlTextQualifier 类型,可选。指定文本识别符。

XlTextQualifier 可为以下 XlTextQualifier 常量之一。
xlTextQualifierDoubleQuote default
xlTextQualifierNone
xlTextQualifierSingleQuote

ConsecutiveDelimiter   Variant 类型,可选。如果该值为 True,则将连续的分隔符号作为一个分隔符号处理。默认值为 False。

Tab   Variant 类型,可选。如果该值为 True,则将分隔符设为制表符(DataType 必须设为 xlDelimited)。默认值为 False。

Semicolon   Variant 类型,可选。如果该值为True,则将分隔符设为分号(DataType 必须设为 xlDelimited)。默认值为 False。

Comma   Variant 类型,可选。如果该值为 True,则将分隔符设为逗号(DataType 必须设为 xlDelimited)。默认值为 False。

Space   Variant 类型,可选。如果该值为 True,则分隔符设为空格(DataType 必须设为 xlDelimited)。默认值为 False。

Other   Variant 类型,可选。如果该值为True,则将分隔符设为由 OtherChar参数指定的字符(DataType 必须设为 xlDelimited)。默认值为 False。

OtherChar   Variant 类型,可选(如果 Other 为 True,则必需)。当 Other 为 True 时,指定分隔字符。如果指定了多个字符,则将字符串中的第一个字符作为分隔符,并忽略其余的字符。

FieldInfo   xlColumnDataType 类型,可选。包含各数据列分析信息的数组。对本参数的解释取决于 DataType 值。如果此数据由分隔符分隔,本参数为由两元素数组组成的数组,其中每个两元素数组指定一个特定列的转换选项。第一个元素为列标(从 1 开始),第二个元素是XlColumnDataType 常量之一,用以指定如何分析该列。

XlColumnDataType 可为以下 XlColumnDataType 常量之一。
xlGeneralFormat  常规
xlTextFormat  文本

xlMDYFormat  MDY 日期

xlDMYFormat  DMY 日期

xlYMDFormat  YMD 日期

xlMYDFormat  MYD 日期

xlDYMFormat  DYM 日期

xlYDMFormat  YDM 日期

xlEMDFormat  EMD 日期

xlSkipColumn  忽略列

只有在安装并选定了台湾地区语言支持时才可使用 xlEMDFormat。xlEMDFormat 常量指定使用台湾地区纪年日期。

列标识符指定顺序不限。输入数据中如果某列没有列标识符,则用常规设置对该列进行分列处理。本示例设置分列处理时跳过第三列,将第一列作为文本处理,源数据中其他列以常规设置进行分列处理。


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

如果源数据为定宽列,则每个两元数组的第一个元素指定起始元素在列中的位置,(用整数表示,第一个字符为 0 (零)),第二个元素用 1 到 9 的数字指定分列选项,如前表所示。

下列示例在一个定宽文本文件中分列出两列。第一列包含从第 1 至第 10 个字符,忽略第 11、12、13、14 及 15 个字符。第二列包含从第 16 个字符至该行的最后一个字符。


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

TextVisualLayout   Variant 类型,可选。文字的可视布局。

DecimalSeparator   Variant 类型,可选。表示在识别数字时,Microsoft Excel 使用的小数位分隔符。默认设置为系统设置。

ThousandsSeparator   Variant 类型,可选。 表示在识别数字时,Excel 使用的千位分隔符。默认设置为系统设置。

下表显示了使用不同的导入设置向 Excel 中导入文本时的结果。数字结果显示在最右边的列中。

系统小数位分隔符 系统千位分隔符 小数位分隔符值 千位分隔符值 导入的文本 单元格的值(数据类型)
句点 逗号 逗号 句点 123,123.45 123,123.45(数字)
句点 逗号 逗号 逗号 123,123.45 123,123.45(文本)
逗号 句点 逗号 句点 123,123.45 123,123.45(数字)
句点 逗号 句点 逗号 123,123.45 123 123.45(文本)
句点 逗号 句点 空格 123,123.45 123,123.45(数字)

TrailingMinusNumbers  Variant 类型,可选。

Local   Variant 类型,可选。

示例

本示例打开 Data.txt 文件并将制表符作为分隔符对此文件进行分列处理,转换成为工作表。


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

上页:Excel VBA教程:OpenLinks方法 下页:Excel VBA教程:OpenXML方法

Excel VBA教程:OpenText方法

Excel VBA教程:OpenXML方法 Excel VBA教程:Parse方法
Excel VBA教程:Paste方法 Excel VBA教程:PasteSpecial方法
Excel VBA教程:Patterned方法 Excel VBA教程:PickUp方法
Excel VBA教程:PieGroups方法 Excel VBA教程:PivotCache方法
Excel VBA教程:PivotCaches方法 Excel VBA教程:PivotFields方法
Excel VBA教程:PivotItems方法 Excel VBA教程:PivotSelect方法
Excel VBA教程:PivotTables方法 Excel VBA教程:PivotTableWizard方法
Excel VBA教程:Play方法 Excel VBA教程:Points方法
Excel VBA教程:PointsToScreenPixelsX方法 Excel VBA教程:PointsToScreenPixelsY方法
Excel VBA教程:Post方法 Excel VBA教程:PresetDrop方法
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号