Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    493

    VBA: Aprire una cartella

    Salve a tutti. Ho poca dimestichezza con vba ma devo creare una macro che apra una cartella. La cartella non ho il percorso assoluto perchè dovrebbe girare su un CD. Qualcuno potrebbe dirmi che script utiliizare?
    Grazie mille e ciao

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466

    Moderazione

    Le domande relative ai linguaggi Visual Basic, VB.NET, VBA e i linguaggi Microsoft per il .NET Framework vengono trattati nell'apposito forum: Visual Basic e .Net Framework.
    In futuro, poni in quel forum le tue domande relative ai linguaggi citati.

    Questa discussione la sposto io.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Leggi la FAQ 83 e visto che si tratta di un CD anche questo articolo
    ... e non usare while wend è una sintassi deprecata

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    493
    Grazie Mabi per la risposta
    ma io non voglio lanciare un programma in una cartella ma voglio solo aprire una determinata cartella

  5. #5
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Hai letto completamente la FAQ
    codice:
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    
    Sub OpenFile(hwnd As Long, File As String, Optional Operation As String = "open", Optional Param As String = "", Optional Dir As String = "")
      Call ShellExecute(hwnd, Operation, File, Param, Dir, 1)
    End Sub
    
    Private Sub Command1_Click()
      OpenFile Me.hwnd, "C:\Documenti", "open"
    End Sub
    ... e non usare while wend è una sintassi deprecata

  6. #6
    Questa routine legge tutti i file partendo da una radice (che può essere anche una cartella) e cicla all'interno di essa.


    codice:
    Dim fso As New FileSystemObject
    Dim f As Folder
    
    Public Sub ElaboraFile()
    
        Set f = fso.GetFolder("D:\")
        Call IOFile(f)
    
    End Sub
    
    Public Sub IOFile(fol As Folder)
    
        Dim fl As Folder
        Dim fi As File
    
        For Each fi In fol.Files
            Debug.Print fi.Path
        Next
        
        For Each fl In fol.SubFolders
            Call IOFile(fl)
        Next
    
    End Sub

    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.