• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Mapnaam en pad in cel

  • Onderwerp starter Onderwerp starter wiki
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

wiki

Gebruiker
Lid geworden
2 okt 2007
Berichten
576
Ik heb onderstaande code voor het selecteren van een map. het lukt mij alleen niet om de uitkomst ervan in een cel te plaatsen. Wie heeft een suggestie, in ben in de weer geweest met cells en Range en value en text:confused:

PHP:
Function GetFolderName(Optional OpenAt As String) As String
    Dim lCount As Long
    
    GetFolderName = vbNullString
    
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = OpenAt
        .Show
        For lCount = 1 To .SelectedItems.Count
            GetFolderName = .SelectedItems(lCount)
        Next lCount
    End With
End Function
Sub StartAtdesktop()
    MsgBox "You chose" & vbNewLine & GetFolderName("desktop")
End Sub
 
Hallo Wiki,

Als je jouw map een keer hebt opgeslagen, dan werkt de volgende formule:

=CEL("bestandsnaam")

Groeten
Thoralf
 
Dat zoek ik niet. Ik wil een map selecteren met de genoemde zoekfunctie en weergeven in een cel. Vanuit deze cel wordt dit pad gebruikt voor een andere routine in het bestand inhoud (zie andere vraag mbt mapinhoud weergeven)
Deze haalt het pad nu uit een tekstveld wat handmatig ingevuld wordt. Door een koppeling te maken tussen deze routine en bovenstaande hoef ik het pad niet buiten excel op te zoeken.

Sub Recurse()

Dim sDirname As String

sDirname = shList.tbDirectory.Text

If Right(sDirname, 1) = "\" Then sDirname = Left(sDirname, Len(sDirname) - 1)

Application.ScreenUpdating = False

'Read the level of start folder
iStartDepth = CharCount(CStr(sDirname), "\")

'Reset the formatting
Columns("B:B").Select
Selection.Font.Bold = False
Selection.Font.Bold = True

Cells.Select
Selection.ClearContents
Selection.Hyperlinks.Delete
Selection.Font.Underline = xlUnderlineStyleNone
Selection.Font.ColorIndex = 0
Selection.EntireRow.Hidden = False
Call UngroupRows


Range("a1").Select

RowIndex = 1
Call RecurseFolderList(sDirname & "\")

Call GroupRows

Range("a1").Select

Application.ScreenUpdating = True

MsgBox "Created a structure of " & RowIndex - 1 & " folders and files over " & iMaxDepth & " levels"


End

End Sub
 
Laatst bewerkt:
Als jouw code doet wat ie moet doen:

Sub StartAtdesktop()
activesheet.cells(1,1)= GetFolderName("desktop")
End Sub


Ik snap in de funktie de loop niet, omdat dan steeds de variabele overschreven wordt.
En het tegelijkertijd selecteren van diverse mappen lijkt me ook al niet voor de hand liggend.

Code:
Function GetFolderName(Optional OpenAt As String) As String 
  Dim lCount As Long 
  GetFolderName = vbNullString 
     
  With Application.FileDialog(msoFileDialogFolderPicker) 
    .InitialFileName = OpenAt 
    .Show 
[COLOR="Teal"]    For lCount = 1 To .SelectedItems.Count 
          GetFolderName = .SelectedItems(lCount) 
      Next lCount [/COLOR]
  End With 
End Function
 
Gelukt:p

Pad is nu te selecteren door in te voeren of te browsen
 

Bijlagen

Voor een simpeler methode om de mapstruktuur uit te lezen zie de bijlage.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan