Condividi tramite


Gestione dei riquadri attività personalizzati in più finestre dell'applicazione

Quando si crea un riquadro attività personalizzato in un'applicazione che utilizza più finestre per visualizzare documenti e altri elementi, è necessario intraprendere ulteriori azioni per assicurare che il riquadro attività sia visibile quando l'utente si aspetta che lo sia.

Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di applicazione per Excel 2007, Excel 2010, InfoPath 2007, InfoPath 2010, Outlook 2007, Outlook 2010, PowerPoint 2007, PowerPoint 2010, Word 2007 e Word 2010. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.

I riquadri attività personalizzati in tutte le applicazioni sono associati a una finestra cornice del documento che presenta una visualizzazione di un documento o di un elemento all'utente. Il riquadro attività è visibile solo quando la finestra associata è visibile. Non tutte le applicazioni utilizzano tuttavia le finestre cornice del documento nello stesso modo.

I gruppi di applicazioni seguenti hanno requisiti di sviluppo diversi:

  • Outlook

  • Word, InfoPath e PowerPoint 2010

  • Excel e PowerPoint 2007

Collegamento a video Per una dimostrazione video correlata, vedere How Do I: Manage Task Panes in Word Add-ins? (la pagina potrebbe essere in inglese).

Outlook

Quando si crea un riquadro attività personalizzato per Outlook, tale riquadro viene associato a una finestra di esplorazione o a una finestra di controllo specifica. Le finestre di esplorazione sono finestre che visualizzano il contenuto di una cartella, mentre le finestre di controllo visualizzano un elemento quale un messaggio di posta elettronica o un'attività.

Se si desidera visualizzare un riquadro attività personalizzato con più finestre di esplorazione o di controllo, è necessario creare una nuova istanza del riquadro attività personalizzato quando viene aperta una nuova finestra di esplorazione o di controllo. A questo scopo, gestire un evento generato quando viene creata una finestra di esplorazione o di controllo, quindi creare il riquadro attività nel gestore eventi. È anche possibile gestire gli eventi relativi alle finestre di esplorazione e di controllo per nascondere o visualizzare i riquadri attività a seconda della finestra visibile.

Per associare il riquadro attività a una specifica finestra di esplorazione o di controllo, utilizzare il metodo CustomTaskPaneCollection.Add(UserControl, String, Object) per creare il riquadro attività e passare l'oggetto Explorer o l'oggetto Inspector al parametro window. Per ulteriori informazioni sulla creazione di riquadri attività personalizzati, vedere Cenni preliminari sui riquadri attività personalizzati.

Per la procedura dettagliata sulla modalità di creazione di un riquadro attività per ogni messaggio di posta elettronica aperto, vedere Procedura dettagliata: visualizzazione dei riquadri attività personalizzati con messaggi di posta elettronica in Outlook.

Eventi di Outlook

Per controllare lo stato delle finestre di esplorazione, è possibile gestire gli eventi seguenti correlati all'esplorazione:

Per controllare lo stato delle finestre di controllo, è possibile gestire gli eventi seguenti correlati al controllo:

Come impedire l'apertura di più istanze di un riquadro attività personalizzato in Outlook

Per impedire la visualizzazione nelle finestre di Outlook di più istanze di un riquadro attività personalizzato, rimuovere esplicitamente il riquadro dall'insieme CustomTaskPanes della classe ThisAddIn al momento della chiusura di ogni finestra. Chiamare il metodo Remove in un evento generato quando viene chiusa una finestra, ad esempio ExplorerEvents_10_Event.Close o InspectorEvents_10_Event.Close.

Se non si rimuove esplicitamente il riquadro attività personalizzato, nelle finestre di Outlook potrebbero essere visualizzate più istanze di tale riquadro. In Outlook le finestre vengono talvolta riciclate e pertanto possono conservare riferimenti ai riquadri attività personalizzati a esse associati.

Word, InfoPath e PowerPoint 2010

In Word, InfoPath e PowerPoint 2010 ogni documento viene visualizzato in una finestra cornice documento diversa. Quando si crea un riquadro attività personalizzato per queste applicazioni, tale riquadro viene associato solo a uno specifico documento. Se l'utente apre un documento diverso, il riquadro attività personalizzato viene nascosto fino a che il documento precedente non sia nuovamente visibile.

Se si desidera visualizzare un riquadro attività personalizzato con più documenti, creare una nuova istanza del riquadro attività personalizzato quando l'utente crea un nuovo documento o ne apre uno esistente. A questo scopo, gestire gli eventi generati quando viene creato o aperto un documento, quindi creare il riquadro attività nei gestori eventi. È inoltre possibile gestire gli eventi del documento per nascondere o visualizzare i riquadri attività a seconda del documento visibile.

Per associare il riquadro attività a una finestra di documento specifica, utilizzare il metodo CustomTaskPaneCollection.Add(UserControl, String, Object) per creare il riquadro attività e passare un oggetto Microsoft.Office.Interop.Word.Window (per Word), Microsoft.Office.Interop.InfoPath.WindowObject (per InfoPath) o Microsoft.Office.Interop.PowerPoint.DocumentWindow (per PowerPoint) al parametro window.

Per ulteriori informazioni, vedere Gestione dei riquadri attività in più documenti di Word e InfoPath. Questo articolo riguarda in modo specifico Word e InfoPath, ma i concetti in esso illustrati si applicano anche a PowerPoint 2010, in quanto questa versione di PowerPoint Single presenta una SDI (Single Document Interface).

Eventi di Word

Per controllare lo stato delle finestre di documento in Word, è possibile gestire gli eventi seguenti:

Eventi di InfoPath

Per controllare lo stato delle finestre di documento in InfoPath, è possibile gestire gli eventi seguenti:

Eventi di PowerPoint

Per monitorare lo stato delle finestre di documento in PowerPoint 2010, è possibile gestire gli eventi seguenti:

Excel e PowerPoint 2007

Excel e PowerPoint 2007 creano una finestra cornice di documento per tutti i documenti, ovvero per le cartelle di lavoro e le presentazioni. Quando si crea un riquadro attività personalizzato in queste applicazioni, tale riquadro è disponibile per ogni documento aperto nell'applicazione. Nessuna attività aggiuntiva da parte dell'utente è necessaria per assicurare che il riquadro attività sia visualizzato per ogni documento.

Tuttavia, a seconda del documento attivo, è opportuno nascondere o visualizzare il riquadro attività o visualizzare elementi dell'interfaccia utente o dati diversi nel riquadro attività. A questo scopo, gestire gli eventi generati quando viene creato, aperto o attivato un documento, quindi aggiornare il riquadro attività nei gestori eventi.

Eventi di Excel

Per controllare lo stato delle cartelle di lavoro in Excel, è possibile gestire gli eventi seguenti:

Eventi di PowerPoint

Per monitorare lo stato delle presentazioni in PowerPoint 2007, è possibile gestire gli eventi seguenti:

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come nascondere o visualizzare un riquadro attività personalizzato in un gestore eventi per l'evento WorkbookActivate in un componente aggiuntivo per Excel. Quando ogni cartella di lavoro è attivata, il riquadro attività è visibile solo se la cartella di lavoro è denominata SalesData.xls; in caso contrario, il riquadro attività è nascosto. Per eseguire questo esempio, sostituire il gestore eventi ThisAddIn_Startup predefinito nella classe ThisAddIn con il codice riportato di seguito. In questo esempio si presuppone che il progetto includa un oggetto UserControl denominato UserControl1.

Dim myUserControl As UserControl1
Dim myCustomTaskPane As Microsoft.Office.Tools.CustomTaskPane

Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Startup
    myUserControl = New UserControl1()
    myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl, "Sales Task Pane")
End Sub

Private Sub Application_WorkbookActivate(ByVal Wb As Excel.Workbook) _
    Handles Application.WorkbookActivate

    If Wb.Name = "SalesData.xlsx" Then
        myCustomTaskPane.Visible = True
    Else
        myCustomTaskPane.Visible = False
    End If
End Sub
private UserControl1 myUserControl;
private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;

private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    this.Application.WorkbookActivate += new Excel.AppEvents_WorkbookActivateEventHandler(
        Application_WorkbookActivate);

    myUserControl = new UserControl1();
    myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl, "Sales Task Pane");
}

void Application_WorkbookActivate(Excel.Workbook Wb)
{
    if (Wb.Name == "SalesData.xlsx")
        myCustomTaskPane.Visible = true;
    else
        myCustomTaskPane.Visible = false;
}

Vedere anche

Attività

Procedura: aggiungere un riquadro attività personalizzato a un'applicazione

Procedura dettagliata: visualizzazione dei riquadri attività personalizzati con messaggi di posta elettronica in Outlook

Procedura: visualizzare i riquadri attività personalizzati con messaggi di posta elettronica in Outlook

Procedura dettagliata: sincronizzazione di un riquadro attività personalizzato con una barra multifunzione

Altre risorse

Cenni preliminari sui riquadri attività personalizzati

Gestione dei riquadri attività in più documenti di Word e InfoPath

Cronologia delle modifiche

Data

Cronologia

Motivo

Maggio 2010

Aggiunti nuovi dettagli sulla gestione del riquadro attività personalizzato in PowerPoint 2010.

Miglioramento delle informazioni.