我在此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
有什么想法吗?
答案 0 :(得分:0)
你去吧。对于file
,您只需使用带扩展名的文件名或文件名,但不要给出带路径的文件名。
修改强>:
对您的代码进行以下更改:
使用另一个变量说file_with_path
从GetOpenFilename
获取文件名(带文件路径),然后从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, "\"))