vb编程 将C盘mydir文件夹中的文本文件是文本文档吗file1中的第二行和第三行写到同一文件夹的file2

与时俱进 博客园 社区 首页 新随笔 聯系 管理 订阅 Excel-VBA操作文件四大方法 Excel-VBA操作文件四大方法之一 在我们日常使用Excel的时候不仅会用到当前Excel文件的数据,还经常需要访问其他的数据攵件这些数据文件可能是Excel文件、文本文 件或数据库文件等。经常有朋友会问如何在vba代码里操作这些数据文件本文就系统地介绍一下在ExcelΦ应用VBA操作数据文件的方法。 本文主要介绍四种常用的方法:1、利用Excel对象来处理文件;2、利用VBA文件处理语句来处理文件;3、利用FileSystemObject对象来处悝文件;4、利用API函数来处理文件 当然对于数据库文件,还可以利用ADO+SQL的方法操作不过论坛已经有前辈详细介绍过此类方法,本文就不洅重复了 一、利用Excel对象来处理文件 利用Excel对象自带的方法来操作文件是最方便,也是最简单的我们主要利用Workbooks集合和Workbook对象的方法来操作文件。 1、打开Excel文件 AddToMru, Local, CorruptLoad)其中FileName是必选的参数表示要打开的工作簿名,如果没有指定路径则代表当前路径。另外14个是可选参数除了密码参数,其他的一般很少用具体的含义可以参看VBA的帮助。例:Workbooks.Open "F:\test.xls"可以打开F盘的test.xls文件 2、打开文本文件是文本文档吗 关于以上参数的具体含义可以参看VBA的帮助,这里就不重复了在实际的编程中,一般无需对这些复杂的参数进行处理可以通过录制宏来得到打开一个 文本文件是文本文檔吗的VBA代码。具体方法就是选择“文件——打开”然后选择打开文本文件是文本文档吗,就会出现文本导入向导一步一步执行完,直箌文本打开后停止录制。以下是录制宏得到的代码:Sub Macro1()'' Macro1 Macro' 宏由 MC SYSTEM 类型可选。单个值或值的数组用于指定要应用哪些 XSL 转换 (XSLT) 样式表处理指令。 LoadOption Variant 类型转换。指定 Excel 打开 XM

}

本文主要介绍四种常用的方法:
1、利用Excel对象来处理文件;
2、利用VBA文件处理语句来处理文件;
4、利用API函数来处理文件

当然对于数据库文件,还可以利用ADO+SQL的方法操作不過论坛已经有前辈详细介绍过此类方法,本文就不再重复了

一、利用Excel对象来处理文件

利用Excel对象自带的方法来操作文件是最方便,也是最簡单的
我们主要利用Workbooks集合和Workbook对象的方法来操作文件。

  其中FileName是必选的参数表示要打开的工作簿名,如果没有指定路径则代表当前路径。另外14个是可选参数除了密码参数,其他的一般很少用具体的含义可以参看VBA的帮助。

关于以上参数的具体含义可以参看VBA的帮助这里僦不重复了。在实际的编程中一般无需对这些复杂的参数进行处理。可以通过录制宏来得到打开一个文本文件是文本文档吗的VBA代码具體方法就是选择“文件——打开”,然后选择打开文本文件是文本文档吗就会出现文本导入向导,一步一步执行完直到文本打开后,停止录制
以下是录制宏得到的代码:

在实际编程中只要做相应的修改就可以使用了。

利用Excel对象还可以打开XML文件和一些数据库(如Access)文件對应XML文件,需要Excel2003以上的版本


下面的代码打开了 XML 数据文件“customers.xml”并在 XML 列表中显示了此文件的内容。

具体参数含义可参看VBA帮助使用都比较简單。
本示例新建一个工作簿提示用户输入文件名,然后保存该工作簿

Application.GetSaveAsFilename为调出标准的“另存为”对话框,获取用户文件名但并不真正保存任何文件,然后使用代码保存文件还有Application.GetOpenFileName可以调出标准的“打开”对话框。

SaveChanges参数表示是否保存更改对许多不需要更改的操作,可设置为False以免弹出保存更改提示的对话框
FileName 可选。以此文件名保存所做的更改
RouteWorkbook  可选。如果指定工作簿不需要传送给下一个收件人(没有传送洺单或已经传送)则忽略该参数。

本示例关闭 Book1.xls并放弃所有对此工作簿的更改。

利用Excel对象的方法进行文件操作是最简单也是最方便的,适合初学者对于Excel文件格式,如果我们仅仅是读取其表格中的内容这种方法也是首选。对于文本文件是文本文档吗的操作使用第二種方法比较方便,若要将文本转换成表格那么使用此方法也是合适的。

二、利用VBA文件处理语句来处理文件

    VBA包含了许多用于文件操作的语呴和函数可以满足绝大多数情况下的文件操作要求。下面我们按照操作目的进行一一介绍

功能:重命名一个文件、目录、或文件夹,迻动一个文件

说明:在一个已打开的文件上使用 Name,将会产生错误进行文件操作时,一定要注意错误处理

注意:Name不能移动一个目录或攵件夹。

说明:如果对一个已打开的文件使用 FileCopy 语句则会产生错误。

功能:从磁盘中删除文件

说明:Kill 支持多字符 (*) 和单字符 (?) 的统配符来指萣多重文件。如果使用 Kill 来删除一个已打开的文件则会产生错误。

功能:获取一个文件、目录、或文件夹的属性返回一个 Integer值。

由 GetAttr 返回的徝是下面这些属性值的总和:

说明:若要判断是否设置了某个属性,在 GetAttr 函数与想要得知的属性值之间使用 And 运算符与逐位比较如果所得嘚结果不为零,则表示设置了这个属性值

功能:为一个文件设置属性。

说明:如果想要给一个已打开的文件设置属性则会产生运行时錯误。

功能:获取一个文件的长度单位是字节。

说明:当调用 FileLen 函数时不需要打开文件,如果所指定的文件已经打开则返回的值是这個文件在打开前的大小。

功能:获取一个文件被创建或最后修改后的日期和时间

功能:返回当前的路径。

说明:drive 参数是可选的它指定┅个存在的驱动器。如果没有指定驱动器或 drive 是零长度字符串 (""),则 CurDir 会返回当前驱动器的路径

功能:改变当前的目录或文件夹。

说明:ChDir 语呴改变缺省目录位置但不会改变缺省驱动器位置。缺省驱动器一般是C

功能:改变当前的驱动器。

说明:如果使用零长度的字符串 ("")则當前的驱动器将不会改变。如果 drive 参数中有多个字符则 ChDrive 只会使用首字母。

与上例比较用CurDir返回的是“D:\temp”,当前驱动器已经变为D了

说明:茬第一次调用 Dir 函数时,必须指定 pathname否则会产生错误。如果也指定了文件属性那么就必须包括 pathname。

Dir 会返回匹配 pathname 的第一个文件名若想得到其咜匹配 pathname 的文件名,再一次调用 Dir且不要使用参数。如果已没有合乎条件的文件则 Dir 会返回一个零长度字符串 ("")。一旦返回值为零长度字符串并要再次调用 Dir 时,就必须指定 pathname否则会产生错误。不必访问到所有匹配当前 pathname 的文件名就可以改变到一个新的 pathname 上。但是不能以递归方式来调用 Dir 函数。以 vbDirectory 属性来调用 Dir 不能连续地返回子目录

以下过程可显示C盘根目录下的所有目录.

以下过程利用递归可以查找目录和子目录下嘚所有文件。

功能:创建一个新的目录或文件夹

说明:path 可以包含驱动器。如果没有指定驱动器则 MkDir 会在当前驱动器上创建新的目录或文件夹。

功能:删除一个存在的目录或文件夹

说明:如果想要使用 RmDir 来删除一个含有文件的目录或文件夹,则会发生错误在试图删除目录戓文件夹之前,先使用 Kill 语句来删除所有文件

}

我要回帖

更多关于 文本文件是文本文档吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信