VBA - FileDialog - Windows 8.1中的InitialFileName部分文件名问题

时间:2015-01-08 16:59:02

标签: windows excel vba filedialog

我使用了一些代码来选择以Configuration.dat结尾的文件。默认文件位置是此excel文件的位置,或者用户之前使用过此excel文件的位置,无论它们上次选择文件的位置(存储在Cell C1中)。

此代码适用于运行Office 2010的Windows 7计算机和运行Office 2007的Windows XP计算机,但不适用于运行Office 2007的Windows 8.1 Surface Pro 2.

Dim f As Object
Set f = Application.FileDialog(msoFileDialogOpen)

'For Directory Pathing
Dim UserPathString as String

'If Cell C1 is empty, use this file's directory
UserPathString = Sheet2.Range("C1").Value
If UserPathString = "" Then
    UserPathString = ThisWorkbook.Path & "\"

f.AllowMultiSelect = False
f.Title = "Select File"
f.Filters.Clear
f.Filters.Add "Data Files (.dat)", "*.dat"
f.InitialFileName = UserPathString & "*Configuration.*"
f.show

它会转到所需的目录并过滤掉所有非.dat个文件,但它不会过滤掉不以Configuration结尾的文件。同样,这适用于Windows XP和7计算机,但不适用于Windows 8.1计算机。

0 个答案:

没有答案