2013-05-27 130 views
1

我有下面的代码来显示一个目录选择对话框打开目录选择对话框

Function selectOutputFolder(lastPath As String) As String 
    Const BIF_NEWDIALOGSTYLE = &H00000040 
    Dim objShell As Variant 
    Dim objFolder As Variant 
    Dim objFolderItem As Variant 
    Set objShell = CreateObject("Shell.Application") 
    Set objFolder = objShell.BrowseForFolder(0, "Choose a directory", BIF_NEWDIALOGSTYLE, lastPath) 
    If Not (objFolder Is Nothing) Then 
     Set objFolderItem = objFolder.Self 
     selectOutputFolder = objFolderItem.Path 
    End If 
End Function 

我用的BrowseForFolder的第四个参数是只对目录遍历和限制玩弄不要在打开时跳到此文件夹中。

这是实施到莲花脚本代理,所以如果你知道任何替代vba或lotusscript,让我知道!

+0

你从哪个应用程序运行它?您使用的外壳窗口仅用于文件夹,而您要求选择“文件选择器” - 您的目标是哪一个? –

+0

我修正了这个,对不起。 Ofc我的意思是“目录”,而不是文件。 – sascha

+0

你从哪个应用程序运行它? –

回答

3

有一种“标准”方法可以在LotusScript中通过使用NotesUIWorkspace- Class的SaveFileDialog方法来实现。

'...your sub goes around this 
Dim ws as New NotesUIWorkspace 
Dim varPaths as Variant 
varPaths = ws.SaveFileDialog( True , "Choose file" , "" , lastPath) 
If not isEmpty(varPaths) then 
    selectOutputFolder = varPaths(0) 
End If 
+0

不知道为什么我用这么复杂的方式。像魅力一样工作,谢谢 – sascha