乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 在VBA中,怎样打开或者调用另一个EXCEL文件

在VBA中,怎样打开或者调用另一个EXCEL文件

作者:乔山办公网日期:

返回目录:excel表格制作


你试试如下代码:

ACCESS中:e68a84e8a2ad7a686964616f339

Sub xx()
    Dim xlApp as Object, wb As Object
    On Error Resume NExt
    Set xlApp = GetObject(,"Excel.Application")
    If Not xlApp Is Nothing Then
        Set Wb = xlApp.WorkBooks("a.xls")
        If Err.Number = 9 Then Set Wb = xlApp.WorkBooks.Open("D:\a.xls")   
    Else
        Set xlApp = CreateObject("Excel.Application")
        xlApp.Visible = True
        Set Wb = xlApp.WorkBooks.Open("D:\a.xls") 
    End if     
End Sub

a.Xls工作簿中:

Private Sub WOrkbook_OPen()
    Call Sheet1.pp
End Sub

Sheet1工作表中 :

Public Sub pp()
    Msgbox "Hello!!"
End Sub


ThisWorkbook属性可以返回一个 Workbook 对象,该对象代表当前宏代码运行的工作簿,而Path属性可以返回文件的路径这样就可以用在Workbook_Open事件中加入下面的代码打开“报表.xls”了。
Private Sub Workbook_Open()
Dim FN As String
FN = ThisWorkbook.Path & "\报表.xls"
If Len(Dir(FN)) = 0 Then
MsgBox "找不到文件:" & vbCrLf & FN, vbExclamation, "错误"
Else
Workbooks.Open Filename:=ThisWorkbook.Path & "\报表.xls"
End If
End Sub
而要打开一个文件夹里所有的文件,7a64e59b9ee7ad94336就需要用到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
Option Explicit
Sub main()
    Dim wb As Workbook
    Set wb = Workbooks.Open("d:\1.xlsm")
    Application.Run "1.xlsm!tt"
    wb.Close
    Set wb = Nothing
End Sub

这是个示例,我把两工作簿都在D盘了根目录运行的,你可以改代码,也可以该路径,详见附



首先,工程-引用microsoftExcel11.0)bjectLibrary然后代码如下:DimxlAppAsObjectDimxlBookAsObjectSetxlApp=CreateObject("Excel.Application")SetxlBook=xlApp.Workbooks.AddWithxlAppxlApp.Visible=False.Rows(1).Font.Bold=True'设置第一行为粗体.Cells(10,10).Value="姓名".Application.Visible=TrueEndWithSetxlApp=NothingSetxlBook=Nothing如想了解其他操作excel的代码,可以在excel中,点击菜单的工具——宏——录制新宏。然后你手动对excel操作,操作完成后停止录制。再点击工具——宏——visualbasic编辑器,找到刚才录制的宏,就可以看到刚才对excel所做的操作对应的vb代码了。

相关阅读

  • VB6.0如何判断excel文件是否已打开?

  • 乔山办公网excel表格制作
  • Workbooks("XXXX.xls").Close False/True将XXXX.xls换成你要关闭的文件名(必须确保已经打开),如果不保存关闭,则参数用False,反之用TRUEQ1在打开工作薄之前,可以zhidao用这个方法来查看工作薄
关键词不能为空
极力推荐
  • Excel 怎样在一个单元格内同时输入文字和公式

  • 一、首先,百打开Excel程序,然后在表格中选中一个要输入公式的单元格。二、度然问后,在Excel界面上方找到“编辑栏”,需要在此栏中输入答公式。三、然后,开始输入公式前,先输

ppt怎么做_excel表格制作_office365_word文档_365办公网