Dropdown-Formularfelder mit mehr als 25 Einträgen Erklärung



Ähnliche Dokumente
Seriendruck mit der Codex-Software

Grundlagen Word Eigene Symbolleisten. Eigene Symbolleisten in Word erstellen

Klicken Sie auf Extras / Serienbriefe mit Word. Im Fenster Serienbriefe können Sie nun auswählen, an wen Sie den Serienbrief schicken möchten.

Persönliches Adressbuch

Serienbrief erstellen

Urlaubsregel in David

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

Bauteilattribute als Sachdaten anzeigen

iphone-kontakte zu Exchange übertragen

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Anleitung zur Verwendung der VVW-Word-Vorlagen

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Anwendungsbeispiele Buchhaltung

Seriendruck mit der Codex-Software

Anleitung e Paper Gilt für "Zürichsee Zeitung" (zsz.ch), "Zürcher Unterländer" (zuonline.ch) und "Neues Bülacher Tagblatt" (nbt.

Erstellen eines Formulars

Summenbildung in Bauteiltabellen mit If Then Abfrage

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

esms - sms senden & empfangen mit Outlook

3. Neuen Newsbeitrag erstellen Klicken Sie auf das Datensatzsymbol mit dem +, damit Sie einen neuen Newsbeitrag erstellen können.

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Herzlich Willkommen bei der BITel!

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Arbeiten mit dem Outlook Add-In

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Speichern. Speichern unter

Microsoft Access 2013 Navigationsformular (Musterlösung)

6 Das Kopieren eines bereits bestehenden Inhaltselements

Der einfache Weg zum CFX-Demokonto

Dateien mit Hilfe des Dateimanagers vom USB-Stick kopieren und auf der Festplatte speichern

Anleitung. Serienbrief - Outlook 2010 (Stand: Mai 2014)

Einrichten des Elektronischen Postfachs

Anleitung zum Einfügen von Daten aus OpenOffice Calc in OpenOffice Base Beispiel anhand einer Adressen Calc-Tabelle

! " # $ " % & Nicki Wruck worldwidewruck

Abschnitte. Abschnittswechsel einfügen

INTERNET UND MMS MIT DEM QTEK2020 MARCO 28. MÄRZ 04

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

Tutorial: Wie kann ich Dokumente verwalten?

Anleitung für das Content Management System

Whitepaper. Produkt: combit address manager STAMPIT der Deutschen Post nutzen. combit GmbH Untere Laube Konstanz

FIS: Projektdaten auf den Internetseiten ausgeben

Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3

Umstellung News-System auf cms.sn.schule.de

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

teischl.com Software Design & Services e.u. office@teischl.com

Windows 7 Winbuilder USB Stick

Bilderverwaltung mit Access

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Primarschule Birmensdorf PIA Anleitungen Word. Bevor du mit Schreiben beginnen kannst, musst du dein Word- Dokument einrichten.

Installation & Konfiguration von Microsoft Outlook

1 FORMULARE. 1.1 Felder im Formular

«/Mehrere Umfragen in einer Umfrage durchführen» Anleitung

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Überschrift/Caption. Eigenschaftenfenster

Lizenzen auschecken. Was ist zu tun?

Anleitung OpenCms 8 Webformular Auswertung

Kommunikations-Management

Was man mit dem Computer alles machen kann

Öffnen Sie die Albelli Gestaltungssoftware

(im Rahmen der Exchange-Server-Umstellung am )

Der Kalender im ipad

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Excel Pivot-Tabellen 2010 effektiv

Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers

Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers

Sage Start Einrichten des Kontenplans Anleitung. Ab Version

Excel 2010 Kommentare einfügen

... unser Service fur Sie:

Outlook Vorlagen/Templates

einrichtung in den kaufmännischen Programmen der WISO Reihe

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Handbuch ECDL 2003 Basic Modul 3: Textverarbeitung Dokument bearbeiten und speichern

Kontakte Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Argelander Institut für Astronomie. Persönliche Website

Für die Einrichtung des elektronischen Postfachs melden Sie sich wie gewohnt in unserem Online-Banking auf an.

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets

Serienbrief erstellen

Eigenen Farbverlauf erstellen

Professionelle Seminare im Bereich MS-Office

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Worldsoft-ECMS FollowUp-Newsletter. FollowUp-Newsletter. Gruppenverwaltung. -Vorlagen erstellen

Mediator 9 - Lernprogramm

LimeSurvey -Anbindung

Kapitel 3 Frames Seite 1

Klicken Sie auf Weiter und es erscheint folgender Dialog

«Integration in WebSite» HTML-/Javascript-Code-Beispiele

HANDOUT VON: EIGENES SSL-ZERTIFIKAT FÜR DEN WHS. Copyright 2011 by s.winkler all rights reserved!

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Was meinen die Leute eigentlich mit: Grexit?

Wie Sie Text um Ihre Bilder oder Bildinhalte fließen lassen, ganz so wie beim Profi-Layout Ihrer Lieblingszeitschrift

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Individuelle Formulare

ClubWebMan Veranstaltungskalender

Seite Wo finde ich die Landingpage Auswahl? Seite Wie aktiviere ich eine Landingpage? Seite

my.ohm Content Services Autorenansicht Rechte

Festplatte defragmentieren Internetspuren und temporäre Dateien löschen

1. Zugriff des Autostarts als Dienst auf eine Freigabe im Netz

Eigene gestalten Internet- . In meinem heutigen Beitrag möchte ich mich speziell mit Outlook 2007 befassen.

Transkript:

Dropdown-Formularfelder mit mehr als 25 Einträgen Erklärung Diese Einschränkung hängt wohl mit dem Aussehen von Dropdown-Formularfeldern zusammen, welches ein «Scrolling» (Blättern) nicht zulässt. Dies hat zur Folge, dass beim Aufklappen eines Dropdown-Formularfeldes mit vielen Elementen, der Bildschirm bald ganz zugedeckt würde. Bei einem Monitor mit geringer Auflösung würde dies sogar schon bei relativ wenigen Einträgen geschehen. Work-Arounds Die meisten mir bekannten Lösungen verwenden eine so genannte Userform mit einem Kombinationsfeld, um diese Einschränkung zu umgehen. Statt auf konventionelle Formularfelder zu setzen, kann alternativ auch ein direkt in das Dokument eingebundenes Kombinationsfeld aus der OLE-Controls aus der MS Forms 2.0 Bibliothek eingesetzt werden. Beachten Sie dazu den Hinweis am Ende dieses Skripts. Dropdown-Formularfeld durch eine Userform mit einem Kombinationsfeld ersetzen Kombinationsfelder auf einer Userform kennen so gut wie keine Einschränkung, was die Anzahl der Listeneinträge betrifft, und sind dem PC-Benutzer von anderen Dialogen vertraut. Wir machen uns dabei zu Nutze, dass Formularfelder die Möglichkeit bieten, ein Makro aufzurufen, sowie die Einfügemarke in ein Feld eintritt. Statt einem Dropdown- Formularfeld, welches wir wegen der Beschränkung auf 25 Einträge nicht gebrauchen können, verwenden wir ein Textformularfeld. Die Zuordnung eines Makros zum Formularfeld erfolgt über den Eigenschaftsdialog (Optionen) des Formularfelds. Im Folgenden finden Sie alle Zutaten, um diesen Ansatz zu realisieren: ein Eintrittsmakro, welches die Userform aufruft, ein universeller Makrocode, welche diese Userform steuert und eine Schritt-für-Schritt Anweisung, welche erklärt, wie Sie diese Lösung einrichten können. Ausstattungsmerkmale der hier vorgestellten Lösung Der Code für die Userform ist universell. Die Routine kann für ein x-beliebiges Dropdown-Formularfeld eingesetzt werden und Sie müssen dafür kein Jota in der Userform ändern. Sie müssen keine Schaltflächen für die Userform «malen». Der Code erstellt alle nötigen Komponenten automatisch. Kombinationsfelder auf einer UserForm kennen keine Beschränkung, was die Anzahl der möglichen Einträge betrifft. Falls Sie für das Feld eine Statusinformation vorgesehen habe, wird diese auch im Fuss der Userform angezeigt. Falls Sie für das Feld Hilfeinformationen vorgesehen haben, kann sich der Formularbearbeiter diesen Text auch aus der Userform anzeigen lassen. Das Feldeintrittmakro Damit die Userform angezeigt wird, benötigen wir ein Feldeintrittsmakro, welches mit dem Formularfeld verbunden wird. Dieser Makrocode wird in einem Standardmodul geführt. Es ist der einzige Code, welchen Sie je nach Feld, individualisieren müssen. Insbesondere werden hier die Einträge für das Kombinationsfeld festgelegt. Gehen Sie konkret wie folgt vor: 1. Wechseln Sie mit [Alt + F11] in den VBA-Editor. 2. Dort angelangt, wählen Sie vom Hauptmenü Einfügen - Modul. 3. Kopieren Sie den nachfolgenden Code in das Codefenster, welches sich geöffnet hat. 4. Im Kopf dieses Codes passen Sie den Wert der Konstante mit dem Namen Anzahl an. Sie müssen dort angeben, wie viele Einträge Ihre Liste enthalten wird.

5. Die Werte für L1 bis Ln passen Sie Ihren Bedürfnissen an. Vermutlich wünschen Sie mehr als vier Einträge. Zählen Sie deshalb einfach weiter, also z.b. L(5) = "Bor", L(6) = "Kohlenstoff", usw. 6. Kehren Sie zum Fenster der Formularvorlage zurück. Heben Sie den Dokumentschutz auf. 7. Fügen Sie an gewünschter Stelle ein Textformularfeld (also kein Dropdown- Formularfeld) in Ihre Formularvorlage ein. 8. Führen Sie einen Doppelklick auf das eingefügte Formularfeld aus und wählen Sie im Eigenschaftsdialog des Formularfelds das Eintrittsmakro mit dem Namen OnEntryElemente aus. Ab Word2000 heisst es dort: Makro Ausführen bei...ereignis. In älteren Word-Versionen noch etwas anders. '*** Start des anpassbaren Teils Private Const Titel = "MS Word Formular" 'Hier Titel der Userform Private Const Aufforderung = "Wählen Sie ein Element aus:" Private Const Anzahl = 4 'Hier Anzahl der Listeneinträge '*** Ende des anpassbaren Teils Sub OnEntryElemente() Dim L() As String ReDim L(Anzahl) L(1) = "Wasserstoff" L(2) = "Helium" L(3) = "Lithium" L(4) = "Beryllium" frmdropdown.dropdownformularinit L(), Titel, Aufforderung (Setzt die Einträge für das Kombinationsfeld fest und ruft dann die Userform mit dem Namen «frmdropdown» auf. Dieser Code gehört in ein Standardmodul.) Die Userform Wir benötigen nun noch die Userform mit dem Kombinationsfeld, welches Ihr Dropdown-Formularfeld ersetzt. Die Schaltfläche werden vom folgenden Code automatisch generiert, Sie müssen die Userform zwar Ihrer Formularvorlage hinzufügen, aber nicht selbst ausschmücken. Gehen Sie konkret wie folgt vor: 1. Wechseln Sie erneut in den VBA-Editor. 2. Dort angelangt, wählen Sie vom Hauptmenü Einfügen - UserForm. 3. Führen Sie dann einen Rechtsklick auf die Userform aus und wählen Sie im Kontextmenü Code anzeigen. 4. Löschen Sie die zwei Codezeilen, welche Ihnen MS Word automatisch generiert hat und kopieren Sie den unten stehenden Code in das Codefenster der Userform. 5. Führen Sie abermals einen Rechtsklick auf die Userform aus und wählen Sie im Kontextmenü Eigenschaften. 6. Im Eigenschaftsdialog der Userform unter Name, vergeben Sie der Userform einen aussagekräftigen Namen nämlich: frmdropdown. 7. Kehren Sie ins Dokumentfenster zurück und schützen Sie die Formularvorlage. 8. Speichern und schliessen Sie nun Ihre Vorlage. Sie sind bereit Ihr Werk zu testen. Private WithEvents cbbfeld As MSForms.ComboBox Private WithEvents cmdok As MSForms.CommandButton Private WithEvents cmdcancel As MSForms.CommandButton Private WithEvents cmdhelp As MSForms.CommandButton Private Eintraege() As String Private strtitel As String Private straufforderung As String Private FldName As Variant Private FldValue As Variant

Private FldStatus As String Private FldHelp As String Sub DropdownFormularInit(x() As String, ByVal Titel As String, _ ByVal Aufforderung As String) ReDim Eintraege(UBound(x) - 1) For i = 1 To UBound(x) Eintraege(i - 1) = x(i) straufforderung = Aufforderung strtitel = Titel Me.Show Private Sub UserForm_Activate() Me.Caption = strtitel Me.Height = 96 Me.Width = 320 FldName = Selection.Bookmarks(1).Name With ActiveDocument.FormFields(FldName) If.DropDown.Valid Then If.DropDown.ListEntries.Count > 0 Then FldValue =.Result Else FldValue =.Result If.OwnStatus Then FldStatus =.StatusText If.OwnHelp Then FldHelp =.HelpText DropdownSchaltflaechenHinzufuegen cbbfeld.list = Eintraege() If Not FldStatus = "" Then Me.Height = Me.Height + 30 For i = 0 To UBound(Eintraege) If FldValue = Eintraege(i) Then cbbfeld.listindex = i Exit For Private Sub cbbfeld_change() ActiveDocument.FormFields(FldName).Result = cbbfeld.value Application.ScreenRefresh Private Sub DropdownSchaltflaechenHinzufuegen() Set lblname = Me.Controls.Add("Forms.Label.1",, True) With lblname.top = 4.Height = 12.Width = 240.Caption = straufforderung Set cbbfeld = Me.Controls.Add("Forms.ComboBox.1", "cbbfeld", True) With cbbfeld.top = 18.Height = 18.Width = 300.Style = fmstyledropdownlist

Breite = 60 rechts = Me.Width - Breite - 12 For i = 1 To 3 Set cmd = Me.Controls.Add("Forms.CommandButton.1",, True) With cmd.top = 48.Left = rechts.height = 18.Width = Breite.Font.Size = 8 Select Case i Case 1.Caption = "Ok".Accelerator = "O".Default = True Set cmdok = cmd Case 2.Caption = "Abbrechen".Accelerator = "A".Cancel = True Set cmdcancel = cmd Case 3.Caption = "Hilfe".Accelerator = "H" If FldHelp = "" Then.Enabled = False Set cmdhelp = cmd End Select rechts = rechts - Breite - 6 If Not FldStatus = "" Then Set lblstatus = Me.Controls.Add("Forms.Label.1",, True) With lblstatus.top = Me.Height - 12.Height = 24.Width = Me.Width - 24.Caption = FldStatus Private Sub cmdok_click() Unload Me Private Sub cmdhelp_click() MsgBox FldHelp, vbokonly + vbinformation, strtitel Private Sub cmdcancel_click() If Not FldValue = "" Then _ ActiveDocument.FormFields(FldName).Result = FldValue Unload Me Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = 0 Then cmdcancel_click

(Dies ist der Code für die universell einsetzbare Userform. Die Userform besteht hauptsächlich aus einem Kombinationsfeld, welches das Dropdown-Formularfeld ersetzt.) OLE-Controls aus der MS Forms 2.0 Bibliothek Eine weitere Möglichkeit die im Haupttitel erwähnte Beschränkung zu umgehen, wäre der Verzicht auf konventionelle MS Word Formularfelder. Sie können nämlich Ihr Formular auch mit OLE-Controls aus der MS Forms 2.0 Bibliothek bestücken. Auch diese Komponenten (welche Sie allenfalls von UserForms her kennen) können auf Wunsch direkt in ein Word-Dokument eingebracht werden. Bevor Sie aber viel Zeit darin investieren sollten Sie ein Testformular mit einigen Komponenten ausdrucken, um beurteilen zu können, ob Sie mit dem Erscheinungsbild solcher Formulare leben können. Zudem bringen es diese Komponenten mit, dass die Dokumente an Dateigrösse markant zulegen und auch instabiler werden