Sviluppare funzionalita su Microsoft Office con VBA Creare variabili con percorsi per spostarsi o ricercare in altri file

Login Registrati
Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
  • Autore
    Articoli
  • #29579 Score: 0 | Risposta

    lac72
    Partecipante

      Buon giorno a tutti,

      Ho un file con delle macro che generano sui vari fogli excel, delle formule che vanno a cercare valori su altri file (=CERCA.VERT(...)) che possono su altre cartelle o altri server. Oppure ho altre macro che hanno la necessità di aprire e attivare altri file che sono sempre in altre cartelle o server.

      Queste operazioni sono ripetute tantissime volte all'interno di una quantità enorme di macro.

      Ogni volta devo aggiungere del codice, devo sempre aggiungere i percorsi di questi file.

      Adesso avrei per giunta la necessità di spostare questi file, con quindi tutti i relativi percorsi.

      A questo punto chiedo:

      E' possibile fare in modo che all'apertura del file vengano attribuiti questi percorsi a delle variabili che vengano letti in qualsiasi punto del progetto?

      In ogni punto del codice dove al momento è scritto il percorso andrei a mettere la variabile e a questo punto ogni volta dovessi avere la necessità di modificare i percorsi, sarebbe sufficiente farlo sulla variabile del percorso.

      Al momento quello che sono riuscito a fare è stato di creare delle variabili pubbliche in una macro:

      Public PercAnag
      Public PercProd
      Public PercGir
      Public PercLaser

      Sub Percorsi()
      PercAnag = "C:\Users\dl\Documents\PRODUZIONE"
      PercProd = "M:\DISEGNI STAMPE PRODUZIONE"
      PercGir = "M:\LASER-GEO"
      PercLaser = "X:\SCAMBIO\PRODUZIONE-SOLLECITI"
      End Sub

      però all'inizio di ogni altra macro dovrei mettere:

      Call Percorsi

      per caricare i valori delle variabili.

      Non si può fare in modo che queste variabili vengano caricate automaticamente una sola volta all'apertura del file e rimangano poi disponibili?

      Spero di essere stato chiaro

      grazie

      #29618 Score: 0 | Risposta

      rollis13
      Partecipante
        8 pts

        Puoi fare così, le variabili le dichiari Global in un Modulo standard:

        Option Explicit
        Global PercAnag As String
        Global PercProd As String
        Global PercGir As String
        Global PercLaser As String

        mentre le inizializzi all'avvio nel Modulo Questa_Cartella_Di_Lavoro (ThisWorkbook) con Private Sub Workbook_Open() ma se la chiami Private Sub Auto_Open() la puoi mettere insieme alla dichiarazione nel Modulo standard:

        Option Explicit
        Private Sub Workbook_Open()
            PercAnag = "C:\Users\dl\Documents\PRODUZIONE"
            PercProd = "M:\DISEGNI STAMPE PRODUZIONE"
            PercGir = "M:\LASER-GEO"
            PercLaser = "X:\SCAMBIO\PRODUZIONE-SOLLECITI"
        End Sub

        Però fai molto attenzione a metterci il separatore finale \ da qualche parte, o qui o nelle altre macro prima del nome del file.

        #29631 Score: 0 | Risposta

        lac72
        Partecipante

          Funziona perfettamente, oltretutto nella stringa ho già messo direttamente oltre alla \ anche il nome file, così non devo fare più nulla.

          Grazie

           

          #29636 Score: 0 | Risposta

          rollis13
          Partecipante
            8 pts

            Grazie del riscontro positivo .

          Login Registrati
          Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
          Rispondi a: Creare variabili con percorsi per spostarsi o ricercare in altri file
          Gli allegati sono permessi solo ad utenti REGISTRATI
          Le tue informazioni: