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

  1. Selezionare la cella A1 in Sheet1.

  2. Nella casella Nome digitare formInput.

    La casella Nome si trova a sinistra della barra della formula, sopra la colonna A del foglio di lavoro.

  3. 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

  1. Selezionare il progetto WinFormInput in Esplora soluzioni.

  2. Scegliere Aggiungi Windows Form dal menu Progetto.

  3. Assegnare al form il nome GetInputString.vb o GetInputString.cs, quindi scegliere Aggiungi.

    Il nuovo form verrà aperto nella finestra di progettazione.

  4. Aggiungere al form una classe TextBox e una classe Button.

  5. 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

  1. Fare clic con il pulsante destro del mouse su ThisWorkbook.vb o ThisWorkbook.cs in Esplora soluzioni e selezionare Visualizza codice.

  2. 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();
    }
    
  3. 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

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse su GetInputString, quindi scegliere Progettazione visualizzazioni.

  2. Fare doppio clic sul pulsante per aprire il file di codice contenente il gestore eventi Click del pulsante aggiunto.

  3. 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

  1. Premere F5 per eseguire il progetto.

  2. Verificare che il controllo Windows Form venga visualizzato.

  3. Digitare Hello World nella casella di testo e scegliere OK.

  4. 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:

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

Sviluppo di soluzioni Office

Programmazione di componenti aggiuntivi a livello di applicazione

Programmazione delle personalizzazioni a livello di documento