Come personalizzare una macro in base al computer o all’utente (o ad altre variabili d’ambiente)

Walter ha una macro che vorrebbe eseguire su diversi computer. La macro accede a un file il cui nome è lo stesso sui diversi computer ma il percorso di quel file potrebbe essere diverso. Si chiede come sia possibile, all’interno della macro, identificare il computer su cui viene eseguita la macro e l’utente che la esegue, in modo che la macro in esecuzione possa selezionare il percorso corretto del file.

Forse il modo più semplice per scoprire queste informazioni è utilizzare la funzione Environ, in VBA, per restituire informazioni ambientali dal sistema operativo. Consideriamo, ad esempio, le tre righe seguenti:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

 

Dopo aver eseguito queste tre righe di codice, sComputer conterrà il nome del computer (come definito in Windows), sUser il nome dell’utente che ha effettuato l’accesso al sistema e sUserProfile il percorso al profilo dell’utente. Tutti i valori restituiti sono stringhe. Con le informazioni in mano, puoi confrontare ciò che viene restituito per impostare altre variabili in base ai risultati.

Nel caso ti interessasse avere un semplice elenco delle variabili d’ambiente presenti sul tuo sistema, puoi eseguire questa breve macro:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

 

Una volta eseguita, otterrai tale elenco a partire dalla cella A1 del foglio attivo.

In alternativa puoi usare la macro descritta in questo articolo, un po’ più strutturata.

 

 

Tags: , , , , , , , ,

Ti è stato utile?