我已经非常广泛地尝试谷歌了,但我希望这里的某个人可以胜出。
正如很多人(我想的)想要的,我想从Excel中生成一个File Open对话框(使用GetOpenFilename没问题)。
我认为我在尝试实现大多数人在打开对话框时想要的东西,他们想要选择一个文件,通常这是最新的那种类型?
所以说我有一个C:\ Temp dir充满.piv文件,我想抓住最后创建的。我必须打开对话框,更改为详细信息,然后单击Date Modified列,然后这将是我想要的视图和设置。
我必须像用户一样每次都这样做。有没有办法从Excel VBA设置排序和视图类型。
第9章。来自Professional Excel Development的东西给了我一些希望,但并不能让我一路走来。
看到这么奇怪,因为它一定是人们想要做的常见事情吗?
答案 0 :(得分:3)
没有正式的方法可以做到这一点。有黑客但很难在各种Windows机器上工作。让这些黑客在VBA中工作听起来非常具有挑战性。
Vista中引入的新文件对话框会记住列表视图模式,列已排序等设置。我认为微软注意到人们在设计新版本时对旧版本的挫败感。
答案 1 :(得分:2)
伙计,你必须得到FileDialog
!此对象提供的灵活性比GetOpenFilename
(及其兄弟GetSaveAsFilename
)更灵活。
它至少会让您自动进入详细信息视图。例如:
Dim fdgOpen As FileDialog
Set fdgOpen = Application.FileDialog(msoFileDialogOpen)
With fdgOpen
.Title = "Please open a PIV file..."
.InitialFileName = "C:\MyDocuments\MyDir\"
.InitialView = msoFileDialogViewDetails ' Aha!!!
.Show
End With
以上将为您节省进入详情视图所需的两次点击。我不知道最后点击“修改日期”是否可以自动化,但是嘿,至少你是2/3。
请参阅FileDialog
上的VBA help。它有很多有用的属性。
答案 2 :(得分:0)
据我所知,凭借我的操作系统和办公室版本(XP with Office 2007),这是不可能的。
答案 3 :(得分:0)
对于XP和Office 2010,msoFileDialogViewDetails
有效。