当前位置:首页 > Excel VBA教程 > 利用VBA调用其它Excel文件的两个实例

利用VBA调用其它Excel文件的两个实例

来源:Excel中文网 作者:Excelcn 发布时间:2006-02-07

工作中,常常遇到下面两种情况,用VBA操作其它文件。

1、调用宏所在文件中相同文件夹的另一个文件。

ThisWorkbook属性可以返回一个 Workbook 对象,该对象代表当前宏代码运行的工作簿;而Path属性可以返回文件的路径。这样就可以用下面的代码打开相同文件夹下的“text.xls”了。
Sub OpenOtherFile()
Dim FN As String
FN = ThisWorkbook.Path & "/text.xls"
If Len(Dir(FN)) = 0 Then
MsgBox "找不到文件:" & vbCrLf & FN, vbExclamation, "错误"
Else
Workbooks.Open Filename:=ThisWorkbook.Path & "/text.xls"
End If
End Sub

2、对同一文件夹下的多个文件进行操作。

这里就需要用到FileSystemObject 对象的多个属性了,下面这个例子是在一个新工作表中列出指定文件夹内所有xls文件的实例:
Sub ShowAllXlsFile()
Dim GetFile As String, GetPFN As String, GetExt As String
Dim Fso, PF, AF, FN, i, j
GetFile = Application.GetOpenFilename("Excel 文件 (*.xls), *.xls", , "请选择文件夹所在的任意一文件")
If CStr(GetFile) <> "False" Then
 Sheets.Add
 i = 0
 j = 0
 Set Fso = CreateObject("Scripting.FileSystemObject")
 GetPF = Fso.GetParentFolderName(GetFile) & "/"
 Set PF = Fso.GetFolder(GetPF)
 Set AF = PF.Files
 For Each FN In AF
 j = j + 1
 GetExt = Fso.GetExtensionName(FN)
 If GetExt = "xls" Then
 i = i + 1
 Cells(i, 1) = FN.Name
 End If
 Next
 MsgBox "总计所有类型文件" & j & "个!" & vbCrLf & "总计Excel文件" & i & "个!"
Else
 MsgBox "没有选择文件夹!"
End If
End Sub

| 网站地图 All Rights Reserved. Powered by Excel中文网