2013-05-27 159 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