Das Notes Forum

Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: tdoepper am 21.08.02 - 12:02:33

Titel: User soll Datei-Verzeichnis auswählen können zum
Beitrag von: tdoepper am 21.08.02 - 12:02:33
Hallo,

ich habe folgendes Problem.

In Script kann ich zwar über OpenFileDialog den Betriebssystem-dateibrowser öffnen lassen und der User kann dann eine Datei auswählen. Wie bekomme ich es aber hin, dass der User über den Datei-Browser keine Datei, sondern ein Datei-verzeichnis auswählen kann, in das z.B. eine Export-textdatei abgelegtw erden soll. Über LotusScript OpenFileDialog klappt das nicht.

Freue mich über Hilfe,

Gruss
Thomas
Titel: Re: User soll Datei-Verzeichnis auswählen können z
Beitrag von: Decoder23 am 21.08.02 - 12:59:02
Hallo Thomas,

das Thema passt eher in das Entwickler Forum..
Da Lotus-Script leider keine Funktion mitbring, fällt mir  nur der Weg über die Windows-API ein. Hier das Beispiel


Als erstes habe ich im Globals Bereich folgenden Type angelegt:

Public Type BrowseInfo
     hWndOwner As Long
     pIDLRoot As Long
     pszDisplayName As Long
     lpszTitle As Long
     ulFlags As Long
     lpfnCallback As Long
     lParam As Long
     iImage As Long
End Type


-----------------------------------------------------------------------

--In den Declarations Bereich muss folgendes rein:----
Declare Sub CoTaskMemFree Lib "ole32.dll" (Byval hMem As Long)
Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (Byval lpString1 As String, Byval lpString2 As String) As Long
Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Declare Function SHGetPathFromIDList Lib "shell32" (Byval pidList As Long, Byval lpBuffer As String) As Long
------------------------------------------------------------------------

---In den Click Event des Buttons---
     Const BIF_RETURNONLYFSDIRS = 1
     Const MAX_PATH = 260
     Dim temp As BrowseInfo
     Dim iNull As Integer, lpIDList As Long, lResult As Long
     Dim sPath As String, udtBI As BrowseInfo
     
     temp.lpszTitle = lstrcat("C:\", "")
     temp.ulFlags = BIF_RETURNONLYFSDIRS
'      
  'Show the 'Browse for folder' dialog
     lpIDList = SHBrowseForFolder(udtBI)
     If lpIDList Then
           sPath = String$(MAX_PATH, 0)
       'Get the path from the IDList
           SHGetPathFromIDList lpIDList, sPath
     End If
     Msgbox sPath      
------------------------------------------------------------------------