|
xjwq1988 发表于 2014-12-30 22:22
你这个文件名是确定,Application.GetOpenFilename返回的是路径,能不能有什么方法取文件名
请注意,如果已经打开的工作簿不多,可以使用该方法,否则应该使用直呼其名法(2楼第二种方法)- Sub 判断工作簿是否已经打开方法1()
- Dim wb As Workbook, bExists As Boolean, f, wn$
- f = Application.GetOpenFilename(fileFilter:="Microsoft Excel Files (*.xls;*.xlsx),*.xls;*.xlsx", Title:="选择Excel文件")
- If TypeName(f) = "Boolean" Then Exit Sub
- wn = Split(f, "")(UBound(Split(f, "")))
- For Each wb In Workbooks
- If wb.Name = wn Then '如果存在,表示已经打开
- bExists = True
- Exit For
- End If
- Next
- If bExists Then
- MsgBox "存在"
- Else
- MsgBox "不存在"
- End If
- End Sub
复制代码 |
|