Condividi tramite


Procedura dettagliata: Raccogliere dati usando un Windows Form

Questa procedura dettagliata spiega 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 contenute in questo argomento si applicano ai progetti a livello di documento e ai progetti di componente aggiuntivo VSTO. Vedere Funzionalità disponibili per app Office lication e tipo di progetto.

Nonostante in questa procedura dettagliata venga usato un progetto a livello di documento in modo specifico per Excel, i concetti illustrati sono applicabili ad altri progetti di Office.

Prerequisiti

Per completare questa procedura dettagliata, è necessario disporre dei componenti seguenti:

Nota

I nomi o i percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti potrebbero essere diversi nel computer in uso. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per altre informazioni, vedere Personalizzare l'IDE di Visual Studio.

Crea un nuovo progetto

Il primo passaggio consiste nella creazione di un progetto Cartella di lavoro di Excel.

Per creare un nuovo progetto

  1. Creare un progetto relativo a una cartella di lavoro di Excel denominato WinFormInpute selezionare Crea un nuovo documento nella procedura guidata. Per altre 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.

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

Aggiungere un 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 modulo il nome GetInputString.vb o GetInputString.cs, quindi scegliere Aggiungi.

    Il nuovo modulo verrà aperto nella finestra di progettazione.

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

  5. Scegliere il pulsante, trovare 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.

Visualizzare Windows Form e raccogliere 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 modulo e raccogliere informazioni

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

  2. Nel gestore dell'evento Open di ThisWorkbook, aggiungere il codice riportato di seguito per dichiarare una variabile per il modulo GetInputString e visualizzare il modulo.

    Nota

    In C# è necessario aggiungere un gestore dell'evento, come mostrato nell'evento Startup che segue. Per informazioni sulla creazione di gestori eventi, vedere Procedura: Creare gestori eventi nei progetti di Office.

    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.ShowDialog();
    }
    
  3. Creare un metodo denominato WriteStringToCell , che consente di scrivere testo in un intervallo denominato. Tale metodo viene chiamato dal modulo e l'input utente viene passato al controllo NamedRange , formInput, posizionato sulla cella A1.

    public void WriteStringToCell(string formData)
    {
        Globals.Sheet1.formInput.Value2 = formData;
    }
    

    Aggiungere quindi al modulo il codice per la gestione dell'evento Click del pulsante.

Inviare 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 dell'evento Click del pulsante aggiunto.

  3. Aggiungere il codice al gestore dell'evento per estrarre l'input dalla casella di testo, inviarlo alla funzione WriteStringToCell, quindi chiudere il modulo.

    Globals.ThisWorkbook.WriteStringToCell(this.textBox1.Text);
    this.Dispose();
    

  Test

A questo punto, puoi eseguire il progetto. 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 fare clic su OK.

  4. Assicurarsi che il testo Hello World sia visualizzato nella cella A1 del foglio di lavoro.

Passaggi successivi

Questa procedura dettagliata fornisce 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:

  • Usare i controlli Windows Form in una cartella di lavoro di Excel o un documento di Word. Per altre informazioni, vedere panoramica dei controlli Windows Form nei documenti di Office.

  • Modificare l'interfaccia utente di un app Office cation Microsoft da una personalizzazione a livello di documento o da un componente aggiuntivo VSTO. Per altre informazioni, vedere Personalizzazione dell'interfaccia utente di Office.