Procedura dettagliata: aggiornamento di un grafico in un foglio di lavoro mediante i pulsanti di opzione
In questa procedura dettagliata vengono fornite le informazioni di base per utilizzare i pulsanti di opzione in un foglio di lavoro Microsoft Office Excel per fornire all'utente un modello per passare rapidamente da un'opzione all'altra. In questo caso, le opzioni modificano lo stile di un grafico.
Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di documento per Excel 2007 ed Excel 2010. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.
Per visualizzare il risultato come un esempio completo, vedere l'esempio relativo ai controlli di Excel in Procedure dettagliate ed esempi di sviluppo di applicazioni per Microsoft Office.
In questa procedura dettagliata vengono illustrate le seguenti attività:
Aggiunta di un gruppo di pulsanti di opzione a un foglio di lavoro.
Modifica dello stile del grafico alla selezione di un'opzione.
Nota
Il computer potrebbe mostrare nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. L'edizione di Visual Studio in uso e le impostazioni utilizzate determinano questi elementi. Per ulteriori informazioni, vedere Gestione delle impostazioni.
Prerequisiti
Per completare la procedura dettagliata, è necessario disporre dei componenti seguenti:
-
Una versione di Visual Studio 2010 che include gli strumenti per sviluppatori di Microsoft Office. Per ulteriori informazioni, vedere [Configurazione di un computer per sviluppare soluzioni Office](bb398242\(v=vs.100\).md).
- Microsoft Office Excel 2007 o Excel 2010.
Aggiunta di un grafico a un foglio di lavoro
È possibile creare un progetto Cartella di lavoro di Excel che personalizzi una cartella di lavoro esistente. In questa procedura dettagliata verrà aggiunto un grafico a una cartella di lavoro, quindi quest'ultima verrà utilizzata in una nuova soluzione Excel. L'origine dati di questa procedura dettagliata è un foglio di lavoro denominato Data for Chart.
Per aggiungere i dati
Aprire Microsoft Excel.
Fare clic con il pulsante destro del mouse sulla scheda Foglio3 e scegliere Rinomina dal menu di scelta rapida.
Rinominare la scheda in Data for Chart.
Aggiungere i dati indicati di seguito a Data for Chart. La cella A4 corrisponde all'angolo superiore sinistro e la cella E8 all'angolo inferiore destro.
Q1
Q2
Q3
Q4
West
500
550
550
600
East
600
625
675
700
North
450
470
490
510
South
800
750
775
790
Aggiungere quindi un grafico al primo foglio di lavoro per visualizzare i dati.
Per aggiungere un grafico in Excel
Nella scheda Inserisci, nel gruppo Grafici fare clic su Colonna, quindi scegliere Tutti i tipi di grafico.
Scegliere OK nella finestra di dialogo Inserisci grafico.
Nella scheda Progettazione, nel gruppo Dati fare clic su Seleziona dati.
Nella finestra di dialogo Seleziona origine dati, fare clic nella casella intervallo dati del Grafico e cancellare le selezioni predefinite.
Nel foglio Data for Chart, selezionare il blocco di celle contenente i numeri, dalla cella A4 nell'angolo superiore sinistro alla cella E8 nell'angolo inferiore destro.
Nella finestra di dialogo Seleziona origine dati scegliere OK.
Riposizionare il grafico in modo da allineare l'angolo superiore destro alla cella E2.
Salvare il file sull'unità C con il nome ExcelChart.xls.
Uscire da Excel.
Creazione di un nuovo progetto
In questo passaggio verrà creato un progetto Cartella di lavoro di Excel sulla base del foglio di lavoro ExcelChart.
Per creare un nuovo progetto
Creare un progetto Cartella di lavoro di Excel con il nome My Excel Chart. Nella procedura guidata, selezionare Copia di un documento esistente.
Per ulteriori informazioni, vedere Procedura: creare progetti di Office in Visual Studio.
Fare clic sul pulsante Sfoglia e individuare la cartella di lavoro creata precedentemente in questa procedura dettagliata.
Scegliere OK.
La nuova cartella di lavoro di Excel verrà aperta nella finestra di progettazione e il progetto My Excel Chart verrà aggiunto a Esplora soluzioni.
Impostazione delle proprietà del grafico
Quando si crea un nuovo progetto Cartella di lavoro di Excel che utilizza una cartella di lavoro esistente, vengono creati automaticamente controlli host per tutti gli intervalli denominati, gli oggetti elenco e i grafici presenti nella cartella di lavoro. È possibile modificare il nome del controllo Chart mediante la finestra Proprietà.
Per modificare il nome del controllo Chart
Selezionare il controllo Chart nella finestra di progettazione e modificare le proprietà indicate di seguito nella finestra Proprietà:
Proprietà
Valore
Nome
dataChart
HasLegend
false
Aggiunta di controlli
Questo foglio di lavoro utilizza i pulsanti di opzione per consentire agli utenti di modificare rapidamente lo stile del grafico. Tuttavia, i pulsanti di opzione devono escludersi a vicenda, consentendo di selezionare solo un pulsante di opzione alla volta. Questo comportamento non si verifica per impostazione predefinita quando si aggiungono molti pulsanti di opzione a un foglio di lavoro.
Per aggiungere questo comportamento, raggruppare i pulsanti di opzione in un controllo utente, scrivere il codice associato e aggiungere il controllo utente al foglio di lavoro.
Per aggiungere un controllo utente
Selezionare il progetto My Excel Chart in Esplora soluzioni.
Scegliere Aggiungi nuovo elemento dal menu Progetto.
Fare clic su Controllo utente nella finestra di dialogo Aggiungi nuovo elemento, assegnare al controllo il nome ChartOptions e fare clic su Aggiungi.
Per aggiungere pulsanti di opzione al controllo utente
Se il controllo utente non è visibile nella finestra di progettazione, fare doppio clic su ChartOptions in Esplora soluzioni.
Trascinare sul controllo utente un controllo RadioButton dalla scheda Controlli comuni della Casella degli strumenti e modificare le seguenti proprietà:
Proprietà
Valore
Nome
columnChart
Text
Istogramma
Aggiungere un secondo pulsante di opzione al controllo utente e modificare le seguenti proprietà:
Proprietà
Valore
Nome
barChart
Text
Grafico a barre
Aggiungere un terzo pulsante di opzione al controllo utente e modificare le seguenti proprietà:
Proprietà
Valore
Nome
lineChart
Text
Grafico a linee
Aggiungere un quarto pulsante di opzione al controllo utente e modificare le seguenti proprietà.
Proprietà
Valore
Nome
areaBlockChart
Text
Grafico ad area
Scrivere quindi il codice per aggiornare il grafico alla selezione di un pulsante di opzione.
Modifica dello stile del grafico alla selezione di un pulsante di opzione
Ora è possibile aggiungere il codice per modificare lo stile del grafico. A tale scopo, creare un evento pubblico nel controllo utente, aggiungere una proprietà per impostare il tipo di selezione e creare un gestore eventi per l'evento CheckedChanged di ciascuno dei pulsanti di opzione.
Per creare un evento e una proprietà in un controllo utente
In Esplora soluzioni fare clic con il pulsante destro del mouse sul controllo utente e scegliere Visualizza codice.
Aggiungere il codice alla classe ChartOptions per la creazione di un evento SelectionChanged e della proprietà Selection.
Public Event SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Private selectedType As Microsoft.Office.Interop.Excel.XlChartType = _ Microsoft.Office.Interop.Excel.XlChartType.xlColumnClustered Public Property Selection() As Microsoft.Office.Interop.Excel.XlChartType Get Return Me.selectedType End Get Set(ByVal value As Microsoft.Office.Interop.Excel.XlChartType) Me.selectedType = value End Set End Property
public event EventHandler SelectionChanged; private Microsoft.Office.Interop.Excel.XlChartType selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlColumnClustered; public Microsoft.Office.Interop.Excel.XlChartType Selection { get { return this.selectedType; } set { this.selectedType = value; } }
Per gestire l'evento CheckedChanged dei pulsanti di opzione
Impostare il tipo di grafico nel gestore eventi CheckedChanged del pulsante di opzione areaBlockChart e generare l'evento.
Private Sub areaBlockChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles areaBlockChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlAreaStacked RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void areaBlockChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlAreaStacked; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
Impostare il tipo di grafico nel gestore eventi CheckedChanged del pulsante di opzione barChart.
Private Sub barChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles barChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlBarClustered RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void barChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlBarClustered; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
Impostare il tipo di grafico nel gestore eventi CheckedChanged del pulsante di opzione columnChart.
Private Sub columnChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles columnChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlColumnClustered RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void columnChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlColumnClustered; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
Impostare il tipo di grafico nel gestore eventi CheckedChanged del pulsante di opzione lineChart.
Private Sub lineChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles lineChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlLineMarkers RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void lineChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Excel.XlChartType.xlLineMarkers; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
In C# è necessario aggiungere gestori eventi per i pulsanti di opzione. È possibile aggiungere questo codice al costruttore ChartOptions, dopo la chiamata a InitializeComponent. Per ulteriori informazioni sulla creazione di gestori eventi, vedere Procedura: creare gestori eventi in progetti di Office.
public ChartOptions() { InitializeComponent(); areaBlockChart.CheckedChanged += new EventHandler(areaBlockChart_CheckedChanged); barChart.CheckedChanged += new EventHandler(barChart_CheckedChanged); columnChart.CheckedChanged += new EventHandler(columnChart_CheckedChanged); lineChart.CheckedChanged += new EventHandler(lineChart_CheckedChanged); }
Aggiunta del controllo utente al foglio di lavoro
Durante la compilazione della soluzione, il nuovo controllo utente viene aggiunto automaticamente alla Casella degli strumenti. È possibile trascinare il controllo dalla Casella degli strumenti nel foglio di lavoro.
Per aggiungere il controllo utente al foglio di lavoro
Scegliere Compila soluzione dal menu Compila.
Il controllo utente ChartOptions verrà aggiunto alla Casella degli strumenti.
In Esplora soluzioni fare clic con il pulsante destro del mouse su Sheet1.vb o su Sheet1.cs e scegliere Progettazione visualizzazioni.
Trascinare il controllo ChartOptions dalla Casella degli strumenti sul foglio di lavoro.
Un nuovo controllo denominato my_Excel_Chart_ChartOptions1 verrà aggiunto al progetto.
Modificare il nome del controllo in ChartOptions1.
Modifica del tipo di grafico
Per modificare il tipo di grafico, creare un gestore eventi che imposti lo stile in base all'opzione selezionata nel controllo utente.
Per modificare il tipo di grafico visualizzato nel foglio di lavoro
Aggiungere il gestore eventi indicato di seguito alla classe Sheet1.
Private Sub ChartOptions1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles ChartOptions1.SelectionChanged Try dataChart.ChartType = Me.ChartOptions1.Selection Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub
private void ChartOptions1_SelectionChanged(object sender, EventArgs e) { try { dataChart.ChartType = this.ChartOptions1.Selection; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
In C#, è necessario aggiungere un gestore eventi per il controllo utente all'evento Startup, come mostrato di seguito. Per ulteriori informazioni sulla creazione di gestori eventi, vedere Procedura: creare gestori eventi in progetti di Office.
this.ChartOptions1.SelectionChanged += new EventHandler(ChartOptions1_SelectionChanged);
Verifica dell'applicazione
È ora possibile provare la cartella di lavoro per assicurarsi che al grafico venga applicato lo stile corretto quando si sceglie un pulsante di opzione.
Per testare la cartella di lavoro
Premere F5 per eseguire il progetto.
Selezionare i vari pulsanti di opzione.
Verificare che lo stile del grafico venga modificato in base alla selezione.
Passaggi successivi
In questa procedura dettagliata vengono fornite le informazioni di base sull'utilizzo dei pulsanti di opzione e degli stili dei grafici nei fogli di lavoro. Di seguito sono elencate alcune procedure che potrebbero essere necessarie per estendere il progetto:
Distribuzione del progetto. Per ulteriori informazioni, vedere Distribuzione di soluzioni Office.
Utilizzo di un pulsante per compilare una casella di testo. Per ulteriori informazioni, vedere Procedura dettagliata: visualizzazione di testo in una casella di testo di un foglio di lavoro tramite un pulsante.
Modifica della formattazione di un foglio di lavoro mediante caselle di controllo. Per ulteriori informazioni, vedere Procedura dettagliata: modifica della formattazione dei fogli di lavoro mediante i controlli CheckBox.