激活工作簿



我有一个字符串"sFile",用于存储带有扩展名的工作簿名称。

我想激活这个工作簿,存储在一个字符串中。

然后关闭它。

我使用的代码是:

Dim wbk as workbook
Set wbk = Workbooks(sFile)
wbk.Activate
wbk.close

但这行不通。请帮忙。

如评论中所述,它只采用名称(而不是路径) - 这应该为您完成:

Dim wbk as workbook
Set wbk = Workbooks(right(sFile,Instrrev(sFile,"")+1))
wbk.Activate
wbk.close
您需要

查看是否成功Set wbk = Workbooks(sFile),它仅在工作簿打开时才有效。

如果不成功(wbk Is Nothing),则需要打开工作簿。

法典

Option Explicit
Sub SetWB_toOpenWorkbook()
Dim wbk As Workbook
Dim sFile As String
Dim FilePath As String
' just an example of my file name (clean with extension)
sFile = "SO_1.xlsm"
' set the Dektop path
FilePath = "C:Users" & Environ("USERNAME") & "Desktop"
On Error Resume Next
Set wbk = Workbooks(sFile)
On Error GoTo 0
If wbk Is Nothing Then ' if not open, then open the workbook
    Set wbk = Workbooks.Open(FilePath & sFile)
End If
' just for my tests, put the workbook name in "A1" in "Sheet1"
wbk.Worksheets("Sheet1").Range("A1").Value = wbk.Name
wbk.Activate
wbk.Close True
End Sub

最新更新