Zie 253552voor een Microsoft Word 97-versie van dit artikel.
Samenvatting
Dit artikel wordt beschreven hoe u kunt maken en gebruiken van een UserForm keuzelijst met invoervak als een macro post voor een tekstvak gegevens weergeven van een Microsoft Access-database. Deze macro kan worden gebruikt als oplossing voor de beperking van de 25 artikelen in de formuliervelden voor vervolgkeuzelijsten.
Voor meer informatie over hoe u dit doet wanneer u geen van een Microsoft Access-database gebruikmaakt, klikt u op de volgende artikelnummers om de artikelen in de Microsoft Knowledge Base:198561 het maken van een keuzelijst met invoervak met meer dan 25 items
306258 het maken van een keuzelijst met invoervak meer dan 25 items in Word 2002 bevat
Meer informatie
Microsoft verstrekt programmeervoorbeelden uitsluitend ter illustratie, zonder expliciete of impliciete garantie. Dit omvat, maar is niet beperkt tot, de impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend met de programmeertaal die wordt aangetoond en met de hulpprogramma's die worden gebruikt bent voor het maken van en naar procedures voor foutopsporing. Ondersteuningstechnici van Microsoft kunnen voor uitleg over de functionaliteit van een bepaalde procedure, maar zij zullen deze voorbeelden bieden extra functionaliteit of desgewenst uw specifieke vereisten niet wijzigen.
Voor meer informatie klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:212536 hoe u voorbeeldcode uit Knowledge Base-artikelen in Office 2000 uitvoeren Gebruik de volgende stappen uit in de sjabloon. Opmerking: Sluit een venster (bijvoorbeeld een codevenster of het venster Eigenschappen ), klikt u op de X in de rechterbovenhoek van het venster.
De UserForm keuzelijst met invoervak maken
-
In Microsoft Office Word 2003 en eerdere versies, wijst u Macro aan in het menu Extra en klik op Visual Basic Editor.
In Word 2007, klikt u op het tabblad ontwikkelaars en klik op Visual Basic Editor -
Selecteer de TemplateProject in het venster Project .
Opmerking: als het Project -venster niet wordt weergegeven, klikt u op Projectverkenner in het menu Beeld . -
Klik in het menu Invoegen op UserForm. Een nieuwe UserForm en de Werkset besturingselementen moeten worden weergegeven. Klik met de rechtermuisknop in het gebruikersformulier en klik vervolgens op Programmacode weergeven in het snelmenu. De volgende code toevoegen aan de gebeurtenis initialiseren :
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 -
Klik op verwijzingenin het menu Extra .
-
Klik op de objectbibliotheek van Microsoft DAO 3,6.
-
Klik op OK om het dialoogvenster verwijzingen te sluiten.
-
Sluit het codevenster.
-
Klik met de rechtermuisknop op het UserFormen klik vervolgens op Eigenschappen in het snelmenu. Op het tabblad alfabetisch (naam) in frmcomboen wijzig de naam van bijschrift naar Microsoft Word. Sluit het venster UserForm eigenschappen .
-
Klik op het tabblad besturingselementen van de werkset ComboBox te selecteren en plaats deze op het gebruikersformulier. Klik met de rechtermuisknop op de keuzelijst met invoervak en klik vervolgens op Programmacode weergeven in het snelmenu. De code van de ComboBox te wijzigen:
Private Sub ComboBox1_Change()
ActiveDocument.FormFields("Text1").Result = ComboBox1.Value End SubOpmerking: Tekst1 is de bladwijzernaam van het formulierveld voor tekst die u in uw sjabloon in de procedure in stap 2 van de "maken het formulierveld voor tekst' van dit artikel invoegt.
-
Sluit het codevenster.
-
Klik op het tabblad besturingselementen van de werkset CommandButton selecteren en plaats deze op uw formulier de gebruiker als de knop sluiten . CommandButtonmet de rechtermuisknop en klik vervolgens op Programmacode weergeven in het snelmenu. De CommandButton-code te wijzigen:
Private Sub Cmdclose_Click()
End End Sub -
Sluit het codevenster.
-
CommandButtonmet de rechtermuisknop en klik vervolgens op Eigenschappen in het snelmenu. Op het tabblad alfabetisch (naam) in Cmdcloseen wijzig de naam van bijschrift te sluiten. Sluit het venster Eigenschappen van de CommandButton .
De UserForm keuzelijst met invoervak is nu voltooid. Ga verder met de procedure 'De post-Macro maken'.
De Macro maken
-
Selecteer de TemplateProject in het venster Project.
-
Klik op Module in het menu Invoegen. Er verschijnt een lege code modulewerkblad.
-
Typ in de volgende code:
Sub gocombobox()
frmcombo.Show End Sub
De macro is voltooid. Klik in het menu bestand op sluiten en terugkeren naar Microsoft Word.
Het formulierveld voor tekst maken
-
In de sjabloon in het menu Beeld , wijs werkbalkenaan en klik op formulieren.
-
Plaats de invoegpositie waar u het resultaat van de vervolgkeuzelijst ingevoegd. Klik op de werkbalk formulieren Formulierveld voor tekst (de eerste knop aan de linkerkant). Het Formulierveld voor tekst wordt ingevoegd in de sjabloon als de grijze arcering.
Opmerking: als u het veld {} FORMTEXT ziet, drukt u op ALT + F9 om de veldcodes uitschakelen. -
Klik met de rechtermuisknop op het Formulierveld voor teksten klik vervolgens op Eigenschappen in het snelmenu.
-
Selecteer in het dialoogvenster Opties voor tekstvak in de sectie macro uitvoeren als in de macro gocombobox uit de post: keuzelijst met invoervak met de naam.
Opmerking: Controleer of de bladwijzernaam van het formulierveld voor tekst is hetzelfde als die u hebt opgegeven in stap 9 van de procedure ' Maken het UserForm keuzelijst met invoervak' eerder in dit artikel. -
Klik op de werkbalk formulieren op Formulier beveiligen.
-
Opslaan en sluiten van uw sjabloon.
De sjabloon wilt gebruiken in Word 2003 en eerdere versies, klikt u op Nieuw in het menu bestand . Selecteer de sjabloon en klik vervolgens op OK.
De sjabloon wilt gebruiken in Word 2007, klikt u op de Microsoft Office-knop, klikt u op Nieuw, selecteert u de sjabloon en klik vervolgens op maken. Een nieuw document op basis van de sjabloon wordt weergegeven. Het gebruikersformulier met de ComboBox met uw items wordt weergegeven wanneer u met de TAB-toets verplaatst naar het formulierveld voor tekst.