VBA判断某工作簿打开与否和未打开的3种打开方法
- 格式:docx
- 大小:13.27 KB
- 文档页数:3
For Each wb In Workbooks
If = wbName2 Then '查询是否开启的文件名
'Debug.Print "文件已打开"
'f = True
GoTo E20
Endrint "文件没有打开"
'If f = False Then
Workbooks(wbName2).Activate '如wbName2没有打开,执行激活时就会出错,就会按上句执行
'MsgBox "已打开"
GoTo E20 '如wbName2已打开,能执行激活,就不会出错,转向到E20语句
E10:
'MsgBox "没有打开"
Set wb = Workbooks.Open(fpath2 & wbName2) '打开工作簿(wbName2)
Dim wbNarr(1 To 3) As String '工作簿名用数组法
wbNarr(1) = "03.08.xls"
wbNarr(2) = "04.08.xls"
wbNarr(3) = "05.08.xls"
n = InputBox("输入要打开的工作簿名号=")
'n = 2
For Each wb In Workbooks
fpath2 = "D:\VBA测试\" '第2个工作薄的路径
wbName1 =
Debug.Print wbName1
wbName2 = "04.08.xls" '工作簿2名
'wbName2 = "04.08.*" '不能用通配符
On Error GoTo E10 '如下句执行时错误时,转向到E10语句
E20:
Debug.Print
Workbooks(wbName1).Worksheets("s").Activate '激活工作簿(wbName1)中指定企业号("s")的工作表
Debug.Print
'....
End Sub
'方法1开始.判断工作簿wbName2打开否,没有打开的,打开它
Sub VBA判断工作簿打开否1()
Dim fpath2 As String '待打开工作簿所在的路径
Dim wbName1 As String '当前工作簿
Dim wbName2 As String '待打开的工作簿
Dim wb As Workbook
E20:
Debug.Print
wb.Worksheets("s1").Activate '激活工作簿(wbName2)中指定企业号("s1")工作表
Debug.Print
End Sub
'方法3结束
If = wbNarr(n) Then '查询是否开启的文件名
Debug.Print "文件已打开"
Debug.Print
GoTo E20
End If
Next wb
Debug.Print "文件没有打开"
Set wb = Workbooks.Open(fpath2 & wbNarr(n)) '打开打开工作簿
Set wb = Workbooks.Open(fpath2 & wbName2) '打开打开工作簿
'End If
E20:
'Debug.Print
wb.Worksheets("s1").Activate '激活工作簿(wbName2)中指定企业号("s1")工作表
Dim wbName2 As String '待打开的工作簿
Dim wb As Workbook
Dim n As Integer
fpath2 = "D:\VBA测试\" '第2个工作薄的路径
wbName1 =
Debug.Print wbName1
'wbName2 = "04.08.xls" '汇总表
'Debug.Print
End Sub
'方法2结束
'方法3开始,判断工作簿wbName2打开否,打开第二个工作薄汇总表,激活汇总表
Sub VBA判断工作簿打开否3() '用数组法
Dim fpath2 As String '待打开工作簿所在的路径
Dim wbName1 As String '当前工作簿
'1法结束
'方法2开始,判断工作簿wbName2打开否,打开第二个工作薄汇总表,激活汇总表
Sub VBA判断工作簿打开否2()
Dim fpath2 As String '待打开工作簿所在的路径
Dim wbName1 As String '当前工作簿
Dim wbName2 As String '待打开的工作簿
Dim wb As Workbook
fpath2 = "D:\VBA测试\" '第2个工作薄的路径
wbName1 =
'Debug.Print wbName1
wbName2 = "04.08.xls" '汇总表
'Dim f As Boolean '也可用布尔函数语句