È possibile creare ed eseguire macro di Visual Basic for Application (VBA) per semplificare e rendere automatiche le attività ripetitive. Con Reflection è possibile:
È possibile eseguire macro VBA create in Reflection e la maggior parte delle macro create con versioni precedenti dei prodotti Reflection ed EXTRA! . È inoltre possibile eseguire la maggior parte delle macro create con Micro Focus Rumba, IBM Personal Communications, OpenText HostExplorer e prodotti di Brandon Systems/Jolly Giant QWS3270. Tuttavia è possibile eseguire le macro solo nei percorsi attendibili.
Nella finestra di dialogo Seleziona azione sono disponibili diverse azioni relative alle macro (ad esempio Esegui Macro Area di lavoro di Reflection).
È inoltre possibile eseguire una macro mappando un'azione a un controllo. Per ulteriori informazioni, vedere Aggiunta di un pulsante per eseguire una macro.
Per eseguire una macro
I passaggi dipendono dalla modalità dell'interfaccia utente.
Modalità dell'interfaccia utente |
Passaggi |
---|---|
Barra multifunzione Reflection |
Nella scheda Macro, nel gruppo Avanzate, fare clic su Esegui macro. |
Browser di Reflection |
Nel menu Reflection, scegliere Strumenti, Macro, quindi Esegui macro. |
TouchUx |
Toccare l'icona chiave inglese, quindi in Macro, selezionare Mostra la finestra Esegui macro. |
Nella finestra di dialogo Esegui macro, selezionare la macro da eseguire.
NOTA:Le opzioni per le macro di versioni precedenti sono disponibili solo se sono state installate le funzioni di compatibilità. Inoltre, per eseguire le macro delle versioni precedenti di Reflection ed EXTRA! da file esterni, è necessario specificare il tipo di macro delle versioni precedenti nella finestra di dialogo Configura protezione API e macro.
Macro Area di lavoro di Reflection |
Mostra le macro nel documento della sessione attiva. Selezionare per eseguire macro create in documenti di Reflection o 2007 (SP1). Per eseguire una macro nel progetto Comune e in altri documenti, selezionare l'opzione <Tutti gli standard> dalle Macro nel menu: |
|
Macro di una versione precedente di Reflection nel file corrente |
Selezionare per eseguire le macro di versioni precedenti nel documento attivo. Queste macro includono i file di impostazione di versioni precedenti (.rsf, .r2w, oppure .r4w) e, in Reflection, documenti delle sessioni (.rd3x, .rd5x, .rdox) precedentemente convertiti da file di impostazione. |
|
Macro di una versione precedente di Reflection in un altro file |
Selezionare per specificare ed eseguire una macro in un file SharedMacro (.rma) o in un file di impostazioni (.rsf, .r2w oppure .r4w). |
|
Macro di una versione precedente di RB |
Selezionare per specificare ed eseguire una macro di Reflection Basic (.rbs). |
|
Script di una versione precedente di RCL |
Selezionare per specificare ed eseguire uno script di una versione precedente di RCL. Disponibile per l'utilizzo solo nei documenti di sessioni VT. |
|
Versioni precedenti di EXTRA! Macro |
Selezionare per specificare ed eseguire un file di macro di EXTRA! (.ebm). |
|
Macro Rumba |
Selezionare per specificare ed eseguire un file di macro di Micro Focus Rumba (.rmc). |
|
Macro di QWS |
Selezionare per specificare ed eseguire un file di macro di Brandon Systems\Jolly Giant QWS3270 (.jgs). |
|
Macro di IBM Personal Communications |
Selezionare per specificare ed eseguire un file di macro di IBM Personal Communications (.mac). |
Se non viene trovata una macro Area di lavoro, selezionare Imposta riferimenti VBA nella finestra Impostazioni per aprire la finestra di dialogo Aggiungi macro di riferimento VBA e verificare se nell'elenco mancano riferimenti (indicati dal pulsante ). Dopo aver corretto il problema (in genere un file mancante o un'unità di rete disconnessa), chiudere e riaprire la sessione.
Tutte le volte che è possibile, creare macro nei moduli. In questo modo si otterrà una maggior coesione e stabilità del programma. L'unica eccezione a questa regola riguarda le procedure per gli eventi, che vengono aggiunte direttamente agli oggetti di Reflection.
Per creare una macro in Visual Basic Editor
In Reflection, aprire un documento della sessione.
I passaggi dipendono dalla modalità dell'interfaccia utente.
Modalità dell'interfaccia utente |
Passaggi |
---|---|
Barra multifunzione Reflection |
Nella scheda Macro, fare clic su Visual Basic. |
Browser di Reflection |
Nel menu Reflection, scegliere Strumenti, Macro, quindi Visual Basic. |
TouchUx |
Toccare l'icona Chiave inglese, quindi sotto Macro selezionare Visual Basic. |
Il documento della sessione viene visualizzato come un progetto in Gestione progetti, ad esempio Progetto (Mia sessione.rd3x).
In Gestione progetti, selezionare il progetto in cui salvare la macro, quindi selezionare Inserisci > Modulo per creare un nuovo modulo.
Fare doppio clic sul modulo creato.
Si apre la finestra Codice.
Selezionare Inserisci > Routine, digitare un nome nella casella Nome, quindi fare clic su OK.
Il nome scelto deve essere conforme alle regole per la denominazione delle macro di Visual Basic. Per ulteriori informazioni, vedere Denominazione delle macro.
Digitare il codice della macro tra le istruzioni Sub (o Public Sub) e End Sub.
I comandi di Visual Basic dispongono di una guida contestuale. Posizionare il cursore all'interno di un comando e premere F1.
È possibile registrare una macro VBA per automatizzare l'interazione con le applicazioni host, incluse:
Invio di dati all'applicazione host o immissione di dati nell'applicazione host.
Taglio, copia o incolla di testo o dati da un'applicazione host a un'altra.
Spostamento fra schede per passare da un'applicazione host a un'altra.
Selezione del testo con un clic del mouse oppure facendo clic con il mouse per spostare il cursore (i clic del mouse vengono registrati come posizioni del cursore).
Non è possibile registrare:
L'interazione con le impostazioni di Reflection e le funzioni di produttività (quali Controllo ortografia, Espansione automatica e Completamento automatico).
La connessione o la disconnessione da un host.
L'interazione con le applicazioni Web.
Le operazioni di taglio o incolla da un host a un'applicazione esterna (ad esempio Notepad).
Per registrare una macro
I passaggi dipendono dalla modalità dell'interfaccia utente.
Modalità dell'interfaccia utente |
Passaggi |
---|---|
Barra multifunzione |
Nella scheda Macro, nel gruppo Avanzate, fare clic su Registra VBA. |
Browser di Reflection |
Nel menu Reflection, scegliere Strumenti, Macro, quindi Registra macro VBA. |
TouchUx |
Toccare l'icona chiave inglese, quindi sotto Macro selezionare Registra macro VBA. |
Eseguire le attività che si desidera automatizzare.
(Facoltativo) Se è necessario interrompere la registrazione per eseguire un'altra operazione, fare clic su Sospendi registrazione. Quando si è pronti per riprendere la registrazione, fare di nuovo clic su Sospendi registrazione.
Al termine della registrazione della macro, fare clic su Interrompi registrazione.
Viene visualizzata la finestra di dialogo Registrazione completata.
Assegnare un nome alla macro, scegliere il percorso in cui salvarla, quindi fare clic su OK.
NOTA:È possibile perfezionare le macro registrate utilizzando Visual Basic Editor. Per ulteriori informazioni, vedere Modifica di una macro.
Utilizzare Visual Basic Editor per modificare le macro di Reflection.
Per modificare una macro
I passaggi dipendono dalla modalità dell'interfaccia utente.
Modalità dell'interfaccia utente |
Passaggi |
---|---|
Barra multifunzione Reflection |
Nella scheda Macro, fare clic su Visual Basic. |
Browser di Reflection |
Nel menu Reflection, scegliere Strumenti, Macro, quindi Visual Basic. |
TouchUx |
Toccare l'icona Chiave inglese, quindi sotto Macro selezionare Visual Basic. |
Verrà visualizzata la finestra di dialogo Macro.
Nella casella Nome macro selezionare il nome della macro da modificare e fare clic su Modifica.
In Visual Basic Editor, digitare e o modificare i comandi macro.
Nel menu File, selezionare Salva.
È possibile impostare una macro di Visual Basic for Application (VBA) in modo che venga eseguita all'avvio dell'area di lavoro di Reflection, invece che all'apertura di una sessione o all'atto della connessione all'host.
Ciò consente di raccogliere informazioni sulla modalità con cui gli utenti si connettono e utilizzare tali informazioni per configurare le impostazioni della sessione.
Ad esempio, è possibile creare una macro di avvio per eseguire attività quali:
visualizzazione di un UserForm VBA per raccogliere informazioni dall'utente prima di connettersi all'host
lettura da un file .ini
verifica della disponibilità di host o router
configurazione delle impostazioni di Reflection
ATTENZIONE:È possibile configurare per l'esecuzione all'avvio dell'area di lavoro solo le macro nel progetto Comune. Non configurare l'azione Esegui Macro Area di lavoro di Reflection per eseguire una macro presente in un documento della sessione (rd0x, rd3x, rd5x). Perché si impedirebbe l'avvio corretto di Reflection.
Per impostare una macro di avvio
I passaggi dipendono dalla modalità dell'interfaccia utente.
Modalità dell'interfaccia utente |
Passaggi |
---|---|
Barra multifunzione |
Nel menu File o dal pulsante Reflection (se si utilizza l'aspetto Office 2007), scegliere Impostazioni dell'area di lavoro di Reflection. |
Browser di Reflection |
Nel menu Reflection scegliere Impostazioni, quindi Impostazioni area di lavoro di Reflection. |
TouchUx |
Toccare l'icona ingranaggi e selezionare Impostazioni dell'area di lavoro di Reflection. |
In Impostazioni Area di lavoro, fare clic su Configura Impostazioni area di lavoro.
In Area di lavoro e documenti, selezionare Esegui azione Avvio dall'elenco All'avvio dell'area di lavoro.
Fare clic su Seleziona azione.
In Azione, selezionare Eseguire una macro nell'area di lavoro di Reflection.
In Parametri dell'azione, scegliere Seleziona macro.
Nella casella Seleziona una macro, selezionare la macro da eseguire all'avvio di Reflection.
Se è stata creata una macro per la sessione o l'area di lavoro, è possibile impostare la sessione in modo che venga eseguita una macro alla connessione.
Per impostare una macro alla connessione
I passaggi dipendono dalla modalità dell'interfaccia utente.
Modalità dell'interfaccia utente |
Passaggi |
Barra multifunzione oppure Browser di Reflection |
Con una sessione aperta in Reflection, nella Barra di accesso rapido, fare clic su . |
TouchUx |
Toccare l'icona Ingranaggi e selezionare Impostazioni dei documenti. |
Nella finestra di dialogo Impostazioni, eseguire una delle seguenti operazioni:
(VT) fare clic su Configura le impostazioni di connessione.
(3270 o 5250), fare clic su Configura le impostazioni avanzate di connessione.
In Azione alla connessione, selezionare se la macro deve essere eseguita prima o dopo la connessione iniziale.
Fare clic su Seleziona azione e selezionare la macro da eseguire.
Quando si assegnano nomi alle macro di Visual Basic, procedure, costanti, variabili e argomenti inclusi, è necessario attenersi alle regole descritte di seguito:
Utilizzare una lettera come primo carattere. (I nomi non distinguono lettere maiuscole o minuscole ma conservano le maiuscole.)
Utilizzare solo caratteri alfanumerici e il carattere ( _ ). Non sono consentiti spazi e altri simboli.
Utilizzare meno di 255 caratteri.
Evitare nomi di comandi di Visual Basic o di Reflection. Se a una macro viene assegnato un nome identico a quello di un comando, è necessario definire per esteso il comando quando lo si utilizza. (Per ottenere questo risultato è necessario che il nome del comando sia preceduto dal nome della libreria dei tipi associata. Ad esempio, se è stata realizzata una macro dal nome Beep, l'istruzione Beep di Visual Basic potrà essere chiamata solo tramite VBA.Beep.)
Assegnare nomi univoci alle macro all'interno di un singolo modulo. Visual Basic non consente di avere due macro con lo stesso nome nello stesso modulo di codice. È invece possibile avere due macro con lo stesso nome se si trovano in due moduli di codice differenti. Ad esempio, sebbene non sia possibile avere due macro con il nome Avvio nello stesso modulo di codice, è possibile avere due macro con il nome Avvio in due moduli di codice differenti. Per chiamare una macro che ha lo stesso nome di una macro in un altro modulo di codice, è necessario definire per esteso il nome della macro. (Ad esempio, Modulo1.Avvio chiama la macro Avvio nel Modulo1.)