Come creare una casella combinata di Word che include più di 25 elementi da un Database di Microsoft Access

Per una versione di Microsoft Word 97 di questo articolo, vedere 253552.

Riepilogo

In questo articolo viene descritto come creare e utilizzare una casella combinata UserForm di una macro di voce per un campo modulo testo per visualizzare le informazioni da un database di Microsoft Access. Questa macro può essere utilizzata come soluzione alternativa per la limitazione di 25 elementi nei campi modulo elenco a discesa.

Per ulteriori informazioni su come eseguire questa operazione quando non si utilizza un database di Microsoft Access, fare clic sui numeri per visualizzare gli articoli della Microsoft Knowledge Base riportato di seguito:

Come creare una casella combinata contenente più di 25 elementi 198561

306258 come creare una casella combinata contenente più di 25 elementi in Word 2002

Ulteriori informazioni

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia espressa o implicita. Ciò include, ma non limitato a, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presuppone che si abbia familiarità con il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire la procedura di debug. I tecnici del supporto Microsoft possono spiegare la funzionalità di una particolare procedura, ma in nessun caso possono modificare questi esempi per fornire funzionalità aggiuntive o creare procedure atte a soddisfare specifiche esigenze.
Per ulteriori informazioni, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:

212536 sull'esecuzione di codice di esempio da articoli della Knowledge Base in Office 2000

Nel modello, attenersi alla seguente procedura.

Nota: per chiudere una finestra (ad esempio, una finestra del codice o la finestra proprietà ), fare clic sulla X nell'angolo superiore destro della finestra.

Creare una casella combinata UserForm

  1. In Microsoft Office Word 2003 e nelle versioni precedenti, scegliere Macro dal menu Strumenti , quindi Visual Basic Editor.

    In Word 2007, fare clic sulla scheda sviluppatore e quindi fare clic su Visual Basic Editor

  2. Nella finestra progetto , selezionare il TemplateProject.

    Nota: se non è visualizzata la finestra di progetto , scegliere Gestione progetti dal menu Visualizza .

  3. Scegliere UserFormdal menu Inserisci . Dovrebbe essere visualizzato un nuovo UserForm e i Controlli della casella degli strumenti . Pulsante destro del mouse all'interno di UserForme quindi scegliere Visualizza codice dal menu di scelta rapida. Aggiungere il codice seguente all'evento di inizializzazione :

    Option Explicit
    'Define Variables

    Private Sub UserForm_Initialize()

    Dim dbDatabase As Database
    Dim rsNorthwind As Recordset
    Dim i As Integer
    Dim aResults()

    ' This code activates the Database connection. Change
    ' the path to reflect your database.
    Set dbDatabase = OpenDatabase("C:\My Documents\NorthWind.mdb")

    ' This code opens the Customers table. Change the Table
    ' to reflect the desired table.
    Set rsNorthwind = dbDatabase.OpenRecordset("Customers", dbOpenSnapshot)

    i = 0

    With rsNorthwind
    ' This code populates the combo box with the values
    ' in the CompanyName field.

    Do Until .EOF
    ComboBox1.AddItem (i)
    ComboBox1.Column(0, i) = .Fields("CompanyName")
    .MoveNext
    i = i + 1
    Loop

    End With
    End Sub
  4. Scegliere riferimentidal menu Strumenti .

  5. Fare clic su Microsoft DAO 3.6 Object Library.

  6. Fare clic su OK per chiudere la finestra di dialogo riferimenti .

  7. Chiudere la finestra del codice.

  8. Destro UserForme quindi scegliere proprietà dal menu di scelta rapida. Nella scheda alfabetico , rinominare (nome) in frmcomboe quindi rinominare didascalia in Microsoft Word. Chiudere la finestra Proprietà UserForm .

  9. Nella scheda controlli della casella degli strumenti, selezionare ComboBox e inserirla nella UserForm. Il pulsante destro del controllo ComboBox e quindi scegliere Visualizza codice dal menu di scelta rapida. Modificare il codice di controllo ComboBox in:

    Private Sub ComboBox1_Change()
    ActiveDocument.FormFields("Text1").Result = ComboBox1.Value
    End Sub

    Nota: Testo1 è il nome del segnalibro del campo modulo testo inseriti nel modello di procedura di passaggio 2 di "Creare il campo modulo testo" di questo articolo.

  10. Chiudere la finestra del codice.

  11. Nella scheda controlli della casella degli strumenti, selezionare controllo CommandButton e inserirlo nel modulo utente come un pulsante Chiudi . Destro del mouse sul pulsante di comandoe quindi scegliere Visualizza codice dal menu di scelta rapida. Modificare il codice di controllo CommandButton in:

    Private Sub Cmdclose_Click()
    End
    End Sub
  12. Chiudere la finestra del codice.

  13. Destro del mouse sul pulsante di comandoe quindi scegliere proprietà dal menu di scelta rapida. Nella scheda alfabetico , rinominare (nome) in Cmdclosee quindi rinominare didascalia in chiusura. Chiudere la finestra delle Proprietà di CommandButton .

Casella combinata UserForm è stata completata. Procedere con la procedura "Creare la voce Macro".

Creare la Macro in entrata

  1. Nella finestra progetto, selezionare il TemplateProject.

  2. Scegliere modulodal menu Inserisci . Verrà visualizzata una finestra di codice di modulo vuoto.

  3. Digitare il seguente codice:

    Sub gocombobox()
    frmcombo.Show
    End Sub

La macro della voce è stata completata. Dal menu File , scegliere Chiudi e torna a Microsoft Word.

Creare il campo modulo testo

  1. Nel modello, dal menu Visualizza , scegliere barre degli strumentie quindi fare clic su moduli.

  2. Posizionare il punto di inserimento dove si desidera il risultato dell'elenco a discesa inserito. Sulla barra degli strumenti moduli , fare clic su Campo modulo testo (il primo pulsante a sinistra). Il Campo modulo testo viene inserito nel modello come uno sfondo grigio.

    Nota: se viene visualizzato il campo FORMTEXT} {, premere ALT + F9 per disattivare i codici di campo.

  3. Pulsante destro del mouse sul Campo modulo testoe quindi scegliere proprietà dal menu di scelta rapida.

  4. Nella finestra di dialogo Opzioni del campo modulo testo , nella sezione eseguire macro in selezionare la macro gocombobox di voce: denominato casella combinata.


    Nota: assicurarsi che il nome del segnalibro del campo modulo testo corrisponde a quello specificato nel passaggio 9 della procedura "Creare la casella combinata UserForm" più indietro in questo articolo.

  5. Sulla barra degli strumenti moduli , fare clic su Proteggi modulo.

  6. Salvare e chiudere il modello.

Per utilizzare il modello in Word 2003 e nelle versioni precedenti, scegliere Nuovo dal menu File . Selezionare il modello e quindi fare clic su OK.

Per utilizzare il modello in Word 2007, fare clic sul Pulsante Microsoft Office, fare clic su Nuovo, selezionare il modello e quindi fare clic su Crea.

Viene visualizzato un nuovo documento basato sul modello. Quando si utilizza il tasto TAB per spostarsi nel campo modulo testo, viene visualizzato il form che contiene il controllo ComboBox con gli elementi.

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×