- 24
- 0
- 约2万字
- 约 38页
- 2020-09-22 发布于山东
- 举报
Excel-VBA 操作文件四大方法 [ExcelHome 技术论坛 ] Excel-VBA 操作文件四大方法之一
在我们日常使用 Excel 的时候,不仅会用到当前 Excel 文件的数据,还经常需要访问其他的数据文件。这些数据文件可
能是 Excel 文件、文本文件或数据库文件等。经常有朋友会问如何在 vba 代码里操作这些数据文件?本文就系统地介绍一下在 Excel 中应用 VBA 操作数据文件的方法。
本文主要介绍四种常用的方法:
1、利用 Excel 对象来处理文件;
2、利用 VBA 文件处理语句来处理文件;
3、利用 FileSystemObject 对象来处理文件;
4、利用 API 函数来处理文件。
当然对于数据库文件, 还可以利用 ADO +SQL 的方法操作,
不过论坛已经有前辈详细介绍过此类方法,本文就不再重复
了。
一、利用 Excel 对象来处理文件
利用 Excel 对象自带的方法来操作文件是最方便,也是最简
单的。
我们主要利用 Workbooks 集合和 Workbook 对象的方法来
操作文件。
1、打开 Excel 文件
我们可以用 Workbooks.Open 方法打开一个 Excel 工作簿。
Workbooks.Open(FileName, UpdateLinks, ReadOnly,
Format, Password, WriteResPassword,
IgnoreReadOnlyRecommended, Origin, Delimiter, Editable,
Notify, Converter, AddToMru, Local, CorruptLoad)
其中 FileName 是必选的参数,表示要打开的工作簿名,
如果没有指定路径,则代表当前路径。另外 14 个是可选参
数,除了密码参数,其他的一般很少用。具体的含义可以参
VBA 的帮助。例:
Workbooks.Open F:\test.xls
可以打开 F 盘的 test.xls 文件。
2、打开文本文件
使用 Open 方法也可以打开文本文件,但建议使用
OpenText 方法。此方法是载入一个文本文件,并将其作为
包含单个工作表的工作簿进行分列处理,然后在此工作表中
放入经过分列处理的文本文件数据。完整语法如下:
Workbooks.OpenText(FileName, Origin, StartRow,
DataType, TextQualifier, ConsecutiveDelimiter, Tab,
Semicolon, Comma, Space, Other, OtherChar, FieldInfo,
TextVisualLayout, DecimalSeparator,
ThousandsSeparator, TrailingMinusNumbers, Local)
关于以上参数的具体含义可以参看 VBA 的帮助,这里就不
重复了。在实际的编程中,一般无需对这些复杂的参数进行
处理。可以通过录制宏来得到打开一个文本文件的 VBA 代
码。具体方法就是选择 #8220; 文件——打开 #8221; ,然后
选择打开文本文件,就会出现文本导入向导,一步一步执行
完,直到文本打开后,停止录制。
以下是录制宏得到的代码 :
Sub Macro1()
#8216;
#8216; Macro1 Macro
#8216; 宏由 MC SYSTEM 录制,时间 : 2007-3-29
#8216;
#8216;
Workbooks.OpenText
Filename:=F:\CallWindowProc.txt, Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(1,
1), _
TrailingMinusNumbers:=True
End Sub
在实际编程中只要做相应的修改就可以使用了。
3、打开其他文件
利用 Excel 对象还可以打开 XML 文件和一些数据库(如 Access )文件,对应 XML 文件,需要 Excel2003 以上的版本。
OpenXML 方法的语法如下:
Workbooks.OpenXML(Filename, Stylesheets,
LoadOption)
FileName
String
类型
原创力文档

文档评论(0)