虫虫技术在线--技术决定出路

当前位置: 首页 > 办公 > Excel >

Excel-VBA文件操作(2)

时间:2010-02-19 20:55来源:未知 作者:admin 点击:
FileName String 类型,必需。连接字符串。 CommandText Variant 类型,可选。查询的命令文本。 CommandType Variant 类型,可选。查询的命令类型。以下是可用的命令

  FileName    String 类型,必需。连接字符串。

  CommandText    Variant 类型,可选。查询的命令文本。

  CommandType    Variant 类型,可选。查询的命令类型。以下是可用的命令类型:Default、SQL 和 Table。

  BackgroundQuery    Variant 类型,可选。查询的背景。

  ImportDataAs    Variant 类型,可选。确定查询的格式。

  示例

  本示例中,Excel 打开了“northwind.mdb”文件。

Sub OpenDatabase()
Workbooks.OpenDatabase FileName:="C:northwind.mdb"
End Sub

  4、保存文件

  文件的保存使用Workbook对象的Save或SaveAs方法。

  Save方法使用简单,语法为

  expression.Save,expression是某个Workbook对象。

  如:ActiveWorkbook.Save

  即保存当前活动工作簿。

  如果是第一次保存工作簿或要另存为,请使用 SaveAs 方法为该文件指定文件名。

  其语法为:

  expression.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)

  具体参数含义可参看VBA帮助,使用都比较简单。

  示例

  本示例新建一个工作簿,提示用户输入文件名,然后保存该工作簿。

Set NewBook = Workbooks.Add
Do
   fName = Application.GetSaveAsFilename
Loop Until fName <> False
NewBook.SaveAs Filename:=fName

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

  5、关闭文件

  关闭文件可以使用Workbooks集合或Workbook对象的 Close 方法。前者是关闭所有打开的工作簿,后者关闭特定的工作簿。

  Workbook对象的 Close 方法语法为:

  expression.Close(SaveChanges, Filename, RouteWorkbook)

  SaveChanges参数表示是否保存更改,对许多不需要更改的操作,可设置为False以免弹出保存更改提示的对话框。

  FileName 可选。以此文件名保存所做的更改。

  RouteWorkbook  可选。如果指定工作簿不需要传送给下一个收件人(没有传送名单或已经传送),则忽略该参数。

  示例

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

  Workbooks("BOOK1.XLS").Close SaveChanges:=False

  本示例关闭所有打开的工作簿。如果某个打开的工作簿有改变,Microsoft Excel 将显示询问是否保存更改的对话框和相应提示。

  Workbooks.Close

  6、综合实例

  假如F盘有一个Excel文件test.xls,现在有另一个Excel文件要访问test.xls的数据,我们来看用VBA代码如何操作。代码如下:

Public Sub test()
Application.ScreenUpdating = False
Workbooks.Open "f:test.xls"
ThisWorkbook.Sheets(1).Range("b1") = ActiveWorkbook.Sheets(1).Range("a2")
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub

  首先关闭屏幕刷新,是为了防止test.xls在打开时被看见(有时候还是看的见)。打开后,见test.xls的Sheet1的单元格A2中的值赋给当前工作簿的Sheet1的单元格B2,然后关闭test.xls。

  当要打开的工作簿不确定的时候,可以通过调用打开对话框来让用户自己选择。

  可改为如下:

Public Sub test()
Application.ScreenUpdating = False
Dim Filename as String
Filename = Application.GetOpenFileName
Workbooks.Open Filename
ThisWorkbook.Sheets(1).Range("b1") = ActiveWorkbook.Sheets(1).Range("a2")
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub

  7、总结

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

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容