Come scegliere una Cartella in vba

Adahm

Utente standard
Professione: Progettazione parametrica / Consulente di processo
Software: CatiaV5 / Inventor-Vault 2023
Regione: Lombardia
Ciao a tutti,

sto cercando il modo di selezionare una cartella di Windows, così da poterla usare come destinazione nel salvataggio di alcuni file.
Ho trovato questo codice:
Codice:
    Dim ShellApp As Object

     'Creare una finestra del browser dei file nella cartella predefinita
    Set ShellApp = CreateObject("Shell.Application"). _
    BrowseForFolder(0, "Scegli la cartella", 0, OpenAt)
    ...
che però mi apre una finestra un po' obsoleta che non mi permette una facile navigazione.

C'è anche quest'altro modo che uso in Access per fare la stessa cosa:
Codice:
    ...
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    ...
che però in Inventor non funziona.

Cercando sulle chat di Autodesk, mi sembra di capire che in Inventor si possano aprire o salvare i file usando le finestre di selezione di Windows, ma non per selezionare le cartelle.
Qualcuno ne sa qualcosa di più?
 

Adahm

Utente standard
Professione: Progettazione parametrica / Consulente di processo
Software: CatiaV5 / Inventor-Vault 2023
Regione: Lombardia
Se a qualcuno dovesse servire, ho scoperto che Inventor non riconosce "msoFileDialogFolderPicker" che va sostituito con un semplicissimo "4".
Quindi il codice semplificato potrebbe essere il seguente:

Codice:
Sub MostraCartellaSelezionata()
    Dim selectedFolder

    With Application.FileDialog(4)
        .Show
        selectedFolder = .SelectedItems(1)
    End With

    ' Mostra l'indirizzo della cartella selezionata
    MsgBox (selectedFolder)
End Sub
 

Zac69

Utente Standard
Professione: Disegnatore
Software: Inventor 2022
Regione: Piemonte
Io per salvare nelle cartelle che desidero mi sono personalizzato il file di progetto in modo da avere, all'interno della mia area di lavoro, le sottocartelle usate frequentemente. A questo punto quando salvo o apro posso accedere direttamente a quelle cartelle semplicemente selezionando il link che appare nella finestra.
Punto 4 sotto "Impostazione delle opzioni per i progetti":
 

Andrea Scarnecchia

Autodesk CAD & PDM expert, SymbioTech founder
Professione: Esperto CAD e PDM Autodesk, Founder della SymbioTech
Software: Autodesk Inventor, AutoCAD, Autodesk Vault, ST-Publisher, ST-Boosters
Regione: Piemonte
Ciao, non so se è quello che ti serve ma io uso questo blocco per scegliere la cartella di volta in volta durante l'operazione in corso (VB.NET):

Dim Dialog = New FolderBrowserDialog With {
.SelectedPath = PERCORSO DI DEFAULT,
.ShowNewFolderButton = True,
.Description = "Scegli la cartella dove salvare i file."
}
If DialogResult.OK = Dialog.ShowDialog() Then
oFilePath = Dialog.SelectedPath & "\"
Else
MessageBox.Show("Procedura annullata.", "Info")
Return
End If
 

Adahm

Utente standard
Professione: Progettazione parametrica / Consulente di processo
Software: CatiaV5 / Inventor-Vault 2023
Regione: Lombardia
Ciao, non so se è quello che ti serve ma io uso questo blocco per scegliere la cartella di volta in volta durante l'operazione in corso (VB.NET):

Dim Dialog = New FolderBrowserDialog With {
.SelectedPath = PERCORSO DI DEFAULT,
.ShowNewFolderButton = True,
.Description = "Scegli la cartella dove salvare i file."
}
If DialogResult.OK = Dialog.ShowDialog() Then
oFilePath = Dialog.SelectedPath & "\"
Else
MessageBox.Show("Procedura annullata.", "Info")
Return
End If
Grazie Andrea,
questo però è in vb.net.
Io uso vba e il codice è leggermente diverso.
 

Statistiche forum

Discussioni
57,934
Messaggi
493,596
Utenti registrati
102,354
Ultimo utente registrato
Massimo p

Utenti online

Nessun utente è online al momento.

Top