检查文件是否已打开

时间:2016-05-27 08:04:57

标签: excel vba excel-vba

我在此site中找到了此代码。但是如果我运行它,它就无法正确检测到文件。即使文件已打开,它也会返回false。这是代码:

表单我的userForm

Select RPAD(Column01, 5, ' ') || Column02 as NewColumn From Table

模块:

file = Application.GetOpenFilename("Excel-files,*.xls*", _
1, "Select One File To Open", , False)

我在Private Function WorkbookIsOpen(wbname as Variant) As Boolean ' Returns TRUE if the workbook is open Dim x As Workbook On Error Resume Next Set x = Workbooks(wbname) If Err = 0 Then WorkbookIsOpen = True _ Else WorkbookIsOpen = False End Function 中传递的内容是wbName数据类型。所以我声明Variant处理wbName

传递数据:(文件是变体) 我还补充说:

Variant

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你去吧。对于file,您只需使用带扩展名的文件名或文件名,但不要给出带路径的文件名。

修改

对您的代码进行以下更改:

使用另一个变量说file_with_pathGetOpenFilename获取文件名(带文件路径),然后从file_with_path中提取文件名。

    file_with_path = Application.GetOpenFilename("Excel-files,*.xls*", _
1, "Select One File To Open", , False)
    file = Right(file_with_path, Len(file_with_path) - InStrRev(file_with_path, "\"))