Condividi tramite


Accesso a un'area di modulo in fase di esecuzione

Aggiornamento: novembre 2007

Si applica a

Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati.

Tipo di progetto

  • Progetti a livello di applicazione

Versione Microsoft Office

  • Outlook 2007

Per ulteriori informazioni, vedere la classe Funzionalità disponibili in base ai tipi di progetto e applicazione.

È possibile scrivere codice per mostrare, nascondere o modificare i controlli presenti in un'area del modulo e consentire agli utenti di eseguire il codice da altre aree del progetto utilizzando la classe Globals.

Per ulteriori informazioni sulla classe Globals, vedere Accesso globale agli oggetti nei progetti Visual Studio Tools per Office.

Utilizzare la classe Globals per accedere alle aree del modulo visualizzate nei controlli e nelle finestre di esplorazione da qualsiasi punto del progetto. Un controllo rappresenta una finestra che viene aperta in Outlook quando gli utenti eseguono determinate attività, ad esempio la creazione di messaggi di posta elettronica. Una finestra di esplorazione rappresenta una finestra in cui viene visualizzato il contenuto di una cartella che contiene elementi quali messaggi di posta elettronica, attività o appuntamenti.

Accesso alle aree del modulo visualizzate in una specifica finestra di controllo Outlook

Per accedere a tutte le aree del modulo visualizzate in uno specifico controllo Outlook, chiamare la proprietà FormRegions della classe Globals e passare un oggetto Inspector che rappresenta il controllo.

Nell'esempio riportato di seguito viene recuperato l'insieme di aree del modulo visualizzate nel controllo che ha attualmente lo stato attivo. Viene quindi effettuato l'accesso a un'area del modulo dell'insieme denominata formRegion1 e il testo visualizzato in una casella di testo viene impostato su Hello World.

Private Sub Access_Form_Regions_ByInspector()
    Dim formRegions As WindowFormRegionCollection = Globals.FormRegions _
        (Globals.ThisAddIn.Application.ActiveInspector())
    formRegions.FormRegion1.textBox1.Text = "Hello World"
End Sub

private void Access_Form_Regions_ByInspector()
{
    WindowFormRegionCollection formRegions = 
        Globals.FormRegions
            [Globals.ThisAddIn.Application.ActiveInspector()];
    formRegions.FormRegion1.textBox1.Text = "Hello World";
}

Accesso alle aree del modulo visualizzate in una specifica finestra di esplorazione Outlook

Per accedere a tutte le aree del modulo visualizzate in una specifica finestra di esplorazione Outlook, chiamare la proprietà FormRegions della classe Globals e passare un oggetto Explorer che rappresenta la finestra di esplorazione.

Nell'esempio riportato di seguito viene recuperato l'insieme di aree del modulo visualizzate nella finestra di esplorazione che ha attualmente lo stato attivo. Viene quindi effettuato l'accesso a un'area del modulo dell'insieme denominata formRegion1 e il testo visualizzato in una casella di testo viene impostato su Hello World.

Private Sub Access_Form_Regions_ByExplorer()
    Dim formRegions As WindowFormRegionCollection = Globals.FormRegions _
        (Globals.ThisAddIn.Application.ActiveExplorer())
    formRegions.FormRegion1.textBox1.Text = "Hello World"
End Sub
private void Access_Form_Regions_ByExplorer()
{
    WindowFormRegionCollection formRegions =
        Globals.FormRegions
            [Globals.ThisAddIn.Application.ActiveExplorer()];
    formRegions.FormRegion1.textBox1.Text = "Hello World";
}

Accesso a tutte le aree del modulo

Per accedere a tutte le aree del modulo visualizzate in tutte le finestre di esplorazione e in tutti i controlli, chiamare la proprietà FormRegions della classe Globals.

Nell'esempio riportato di seguito viene recuperato l'insieme di aree del modulo visualizzate in tutte le finestre di esplorazione e in tutti i controlli. Viene quindi effettuato l'accesso a un'area del modulo denominata formRegion1 e il testo visualizzato in una casella di testo viene impostato su Hello World.

Friend Sub Access_All_Form_Regions()
    Dim formRegion As Microsoft.Office.Tools.Outlook.IFormRegion
    For Each formRegion In Globals.FormRegions
        If TypeOf formRegion Is FormRegion1 Then
            Dim formRegion1 As FormRegion1 = _
                CType(formRegion, FormRegion1)
            formRegion1.textBox1.Text = "Hello World"
        End If
    Next formRegion
End Sub
internal void Access_All_Form_Regions()
{
    foreach (Microsoft.Office.Tools.Outlook.IFormRegion formRegion 
        in Globals.FormRegions)
    {
        if (formRegion is FormRegion1)
        {
            FormRegion1 formRegion1 = (FormRegion1)formRegion;
            formRegion1.textBox1.Text = "Hello World";
        }
    }

}

Accesso ai controlli presenti in un'area del modulo

Per accedere ai controlli presenti in un'area del modulo utilizzando la classe Globals, è necessario rendere tali controlli accessibili al codice dall'esterno del file di codice dell'area del modulo.

Aree del modulo progettate nella finestra di progettazione dell'area del modulo

Per C# cambiare il modificatore di ogni controllo a cui si desidera accedere. Per eseguire questa operazione, selezionare ogni controllo nella finestra di progettazione dell'area del modulo e cambiare la proprietà Modifiers in Internal o public nella finestra Proprietà. Ad esempio, se si cambia la proprietà Modifier di textBox1 in Internal, è possibile accedere a textBox1 digitando Globals.FormRegions.FormRegion1.textBox1.

Per Visual Basic non è necessario cambiare il modificatore.

Aree del modulo importate

Quando si importa un'area del modulo progettata in Outlook, il modificatore di accesso di ogni controllo presente nell'area del modulo diventa privato. Poiché non è possibile utilizzare la finestra di progettazione dell'area del modulo per modificare un'area del modulo importata, non esiste alcun modo per cambiare il modificatore di un controllo nella finestra Proprietà.

Per consentire l'accesso a un controllo dall'esterno del file di codice dell'area del modulo, creare una proprietà in tale file di codice per la restituzione del controllo.

Per ulteriori informazioni su come creare proprietà in C#, vedere Procedura: dichiarare e utilizzare le proprietà Read/Write (Guida per programmatori C#).

Per ulteriori informazioni su come creare proprietà in Visual Basic, vedere Procedura: aggiungere campi e proprietà a una classe.

Vedere anche

Attività

Procedura dettagliata: progettazione di un'area di modulo di Outlook

Procedura: aggiungere un'area del modulo al progetto di un componente aggiuntivo per Outlook

Procedura dettagliata: importazione di un'area di modulo progettata in Outlook

Procedura: impedire la visualizzazione di un'area di modulo in Outlook

Procedura: accedere all'elemento di Outlook in cui viene visualizzata l'area del modulo

Concetti

Linee guida per la creazione delle aree di modulo di Outlook

Azioni personalizzate nelle aree di modulo di Outlook

Associazione di un'area di modulo a una classe messaggio di Outlook

Creazione di aree di modulo di Outlook

Accesso alla barra multifunzione in fase di esecuzione