在不打开工作簿的情况下阅读单元格值


Set ObjWB = Workbooks.Open("c:Test.xlsx")

如果我使用workbooks.open命令,则打开excel Workbook。

我不需要打开该Excel工作簿才能读取单元格值。

在设置 ReadFromClosedWorkbook中的参数之后运行sub GetValue(workbook& worksheet)。您可以通过调用过程中的参数或两个。

Sub GetValue()
    Debug.Print ReadFromClosedWorkbook("A1")
End Sub
Private Function ReadFromClosedWorkbook(Target As String) As Variant
    Const WbFullName = "D:My DocumentsYour file name.xlsx"
    Dim PathName As String
    Dim WbName As String
    Dim WsName As String
    Dim Target As String
    Dim Sp() As String
    WsName = "My Worksheet's Name"
    Sp = Split(WbFullName, "")
    WbName = Sp(UBound(Sp))
    ReDim Preserve Sp(UBound(Sp) - 1)
    PathName = Join(Sp, "") & ""
    If Len(Dir(WbFullName)) Then
        Target = "'" & PathName & _
                 "[" & WbName & "]" & WsName & _
                 "'!" & Range(Target).Address(True, True, xlR1C1)
        ReadFromClosedWorkbook = ExecuteExcel4Macro(Target)
    End If
End Function

最新更新