title image


Smiley Re: Dateien von CD kopieren die 2. (für Silvia?)
Hallo Thomas,Ich benutze folgenden Code um die jeweils vorhandenen Laufwerke angezeigt zu bekommen (ist nicht auf meinem Mist gewachsen, sondern auch nur im Internet geklaut und auf meine Beduerfnisse angepasst.)Hiermit kann nicht nur ein vorhandenes Laufwerk, sondern auch ein vorhandener Pfad ausgewaehlt und zurueckgegeben werden.Sieht zwar recht kompliziert aus, loest aber Dein Problem, vorausgesetzt ich habe richtig verstanden was Du willst. Sollte jemand eine einfachere Loesung haben waehre es schoen zu wissen.Dieser Code nutzt WIN-API (32-bit Version), wobei der originale Funktionsname nach dem Alias verwendet wird, z.B. "SHGetPathFromIDListA". Der verwendete Funktionsname z.B. "ApiGetPathFromIDList32bit" kann frei definiert werden, wenn er ueber Alias auf den Originalnamen referenziert.Ich verwende ausserdem ein Userform mit CommandButton und TextBox um zum Ziel zu kommen.Die Win-API Deklaration und Type Definition muessen im Declarations-Bereich der Userforms stehen.PS. Sollte ich Dir hiermit geholfen haben, koenntest Du Dich vielleicht revanchieren und mir Deine Installationsroutine fuer CD-Rom mailen???Hoert sich ziemlich brauchbar fuer meine Zwecke an!!!Gruss NorbertCode wie folgt:'xxxxxxxxxx'32-bit API declarations:Private Declare Function ApiGetPathFromIDList32bit Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As LongPrivate Declare Function ApiBrowseForFolder32bit Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As LongPublic Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As LongEnd Type'xxxxxxxxxx' If your Excel application needs to prompt the user for a directory,' you may have been surprised to discover that there is no direct way to do this.' You can use the GetOpenFileName method to display a dialog that prompts' for a file name, but there is no way to display a dialog box that' shows only directories.' In this document I present a function (named Get_DirectorySelected) that displays' the dialog box shown below, and returns a string that represents' the selected directory. If the user clicks cancel,' the function returns an empty string.' The Get_DirectorySelected function takes one argument, which is optional.' This argument is a string that will be displayed in the dialog box.' If the argument is omitted, the dialog box displays "Select a folder" as the message.' NOTE: This function uses the 32-bit API, ' so it works only with Excel 95 or Excel 97. ' It will not work with 16-bit Excel 5.Private Function Get_DirectorySelected(Optional PromptString As String) As String Dim bInfo As BROWSEINFO Dim strPath As String Dim lngR As Long Dim lngX As Long' Root folder = Desktop bInfo.pidlRoot = 0&' Title in the dialog If IsMissing(PromptString) Then bInfo.lpszTitle = "Select a folder." Else bInfo.lpszTitle = PromptString End If' Type of directory to return bInfo.ulFlags = &H1' Display the dialog lngX = ApiBrowseForFolder32bit(bInfo)' Parse the result strPath = Space$(512) lngR = ApiGetPathFromIDList32bit(ByVal lngX, ByVal strPath) If lngR Then If (InStr(strPath, Chr(0)) > 0) Then strPath = Left(strPath, InStr(strPath, Chr(0)) - 1) Get_DirectorySelected = strPath Else Get_DirectorySelected = "" End IfEnd FunctionPrivate Sub CommandButton2_Click() Dim strGUI As String Dim varResponce As Variant strGUI = "Please select a directory or folder." varResponce = Get_DirectorySelected(strGUI) If Not varResponce = "" Then Me!Text1.Text = varResponce End IfEnd Sub

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: