Procedura dettagliata: raccolta di dati tramite Windows Form
In questa procedura dettagliata viene spiegato come aprire un Windows Form da una personalizzazione a livello di documento per Microsoft Office Excel, raccogliere le informazioni dall'utente e scriverle in una cella del foglio di lavoro.
Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di documento e di applicazione per Microsoft Office 2010 e Microsoft Office System 2007. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.
Sebbene in questa procedura dettagliata venga utilizzato un progetto a livello di documento in modo specifico per Excel, i concetti illustrati sono applicabili ad altri progetti di Office.
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.
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.
Creazione di un nuovo progetto
Il primo passaggio consiste nella creazione di un progetto Cartella di lavoro di Excel.
Per creare un nuovo progetto
Creare un progetto relativo a una cartella di lavoro di Excel denominato WinFormInput e selezionare Crea un nuovo documento nella procedura guidata. Per ulteriori informazioni, vedere Procedura: creare progetti di Office in Visual Studio.
La nuova cartella di lavoro di Excel viene aperta nella finestra di progettazione di Visual Studio e il progetto WinFormInput viene aggiunto in Esplora soluzioni.
Aggiunta di un controllo NamedRange al foglio di lavoro
Per aggiungere un intervallo denominato a Sheet1
Selezionare la cella A1 in Sheet1.
Nella casella Nome digitare formInput.
La casella Nome si trova a sinistra della barra della formula, sopra la colonna A del foglio di lavoro.
Premere INVIO.
Un controllo NamedRange viene aggiunto nella cella A1. Sul foglio di lavoro non sono presenti indicazioni visibili, ma nella casella Nome (al di sotto del foglio di lavoro sul lato sinistro) e nella finestra Proprietà viene visualizzato formInput quando la cella A1 viene selezionata.
Aggiunta di Windows Form al progetto
Creare un controllo Windows Form per richiedere informazioni all'utente.
Per aggiungere un controllo Windows Form
Selezionare il progetto WinFormInput in Esplora soluzioni.
Scegliere Aggiungi Windows Form dal menu Progetto.
Assegnare al form il nome GetInputString.vb o GetInputString.cs, quindi scegliere Aggiungi.
Il nuovo form verrà aperto nella finestra di progettazione.
Scegliere il pulsante, individuare la proprietà Text nella finestra Proprietà, quindi modificare il testo in OK.
Aggiungere quindi codice a ThisWorkbook.vb o ThisWorkbook.cs per raccogliere le informazioni relative all'utente.
Visualizzazione di Windows Form e raccolta di informazioni
Creare un'istanza del controllo Windows Form GetInputString e visualizzarla, quindi scrivere le informazioni relative all'utente in una cella del foglio di lavoro.
Per visualizzare il form e raccogliere informazioni
Fare clic con il pulsante destro del mouse su ThisWorkbook.vb o ThisWorkbook.cs in Esplora soluzioni e selezionare Visualizza codice.
Nel gestore eventi Open di ThisWorkbook, aggiungere il codice riportato di seguito per dichiarare una variabile per il form GetInputString e visualizzare il form.
Nota
In C#, è necessario aggiungere un gestore eventi, come mostrato nell'evento Startup che segue. Per ulteriori informazioni sulla creazione di gestori eventi, vedere Procedura: creare gestori eventi in progetti di Office.
Private Sub ThisWorkbook_Open() Handles Me.Open Dim inputForm As New GetInputString() inputForm.Show() End Sub
private void ThisWorkbook_Startup(object sender, System.EventArgs e) { this.Open += new Microsoft.Office.Interop.Excel.WorkbookEvents_OpenEventHandler(ThisWorkbook_Open); } private void ThisWorkbook_Open() { GetInputString inputForm = new GetInputString(); inputForm.Show(); }
Creare un metodo denominato WriteStringToCell, che consente di scrivere testo in un intervallo denominato. Tale metodo viene chiamato dal form e l'input utente viene passato al controllo NamedRange, formInput, posizionato sulla cella A1.
Public Sub WriteStringToCell(ByVal formData As String) Globals.Sheet1.formInput.Value2 = formData End Sub
public void WriteStringToCell(string formData) { Globals.Sheet1.formInput.Value2 = formData; }
Aggiungere quindi al form il codice per la gestione dell'evento Click del pulsante.
Invio di informazioni al foglio di lavoro
Per inviare informazioni al foglio di lavoro
In Esplora soluzioni fare clic con il pulsante destro del mouse su GetInputString, quindi scegliere Progettazione visualizzazioni.
Fare doppio clic sul pulsante per aprire il file di codice contenente il gestore eventi Click del pulsante aggiunto.
Aggiungere il codice al gestore eventi per estrarre l'input dalla casella di testo, inviarlo alla funzione WriteStringToCell, quindi chiudere il form.
Globals.ThisWorkbook.WriteStringToCell(Me.TextBox1.Text) Me.Dispose()
Globals.ThisWorkbook.WriteStringToCell(this.textBox1.Text); this.Dispose();
Test
È ora possibile eseguire il progetto. Il Windows Form viene visualizzato e l'input è presente nel foglio di lavoro.
Per testare la cartella di lavoro
Premere F5 per eseguire il progetto.
Verificare che il controllo Windows Form venga visualizzato.
Digitare Hello World nella casella di testo e scegliere OK.
Assicurarsi che il testo Hello World sia visualizzato nella cella A1 del foglio di lavoro.
Passaggi successivi
In questa procedura dettagliata vengono fornite le informazioni di base sulla visualizzazione di un controllo Windows Form e sul passaggio di dati a un foglio di lavoro. Altre attività che è possibile eseguire includono:
Utilizzare i controlli Windows Form in una cartella di lavoro di Excel o un documento di Word. Per ulteriori informazioni, vedere Cenni preliminari sui controlli Windows Form nei documenti di Office.
Modificare l'interfaccia utente di un'applicazione di Microsoft Office da una personalizzazione a livello di documento o un componente aggiuntivo a livello di applicazione. Per ulteriori informazioni, vedere Personalizzazione dell'interfaccia utente di Office.
Vedere anche
Attività
Procedura: interagire con Windows Form
Concetti
Scrittura di codice nelle soluzioni Office
Procedure dettagliate con Word
Procedure dettagliate con Excel
Globalizzazione e localizzazione di soluzioni Office
Altre risorse
Programmazione di componenti aggiuntivi a livello di applicazione
Programmazione delle personalizzazioni a livello di documento