Microsoft Word 97-Version dieses Artikels finden Sie unter
187985.
Zusammenfassung
Dieser Artikel enthält vier Microsoft Visual Basic for Applications-Makros, mit denen Sie Microsoft Word 6.0 für Windows-Funktionalität der EINGABETASTE zum Wechseln zwischen Formularfeldern in geschützte Dokumente emulieren.
Weitere Informationen
Microsoft bietet Programmierbeispiele zur Veranschaulichung, ohne ausdrücklich oder konkludent, einschließlich, aber nicht beschränkt auf die gesetzlichen Garantien der Handelsüblichkeit und/oder Eignung für einen bestimmten Zweck. Dieser Artikel geht davon aus, dass Sie mit der Programmiersprache, die verwendet wird, den Mechanismen und Debuggingprozeduren vertraut sind Exemplarisch die Funktionen einer bestimmten Prozedur, aber ändern sie nicht diese Beispiele Funktionalität Verfahren für Ihre Bedürfnisse erstellen.
Wenn Sie über begrenzte Programmierungskenntnisse verfügen, sollten Sie einen Microsoft Certified Partner oder Microsoft Advisory Services kontaktieren. Weitere Informationen finden Sie auf dieser Microsoft-Websites:
Microsoft Certified Partner - https://partner.microsoft.com/global/30000104
Microsoft Advisory Services - http://support.microsoft.com/gp/advisoryservice
Weitere Informationen zu verfügbaren Supportoptionen und zur Kontaktaufnahme mit Microsoft finden Sie auf der folgenden Microsoft-Website: http://support.Microsoft.com/default.aspx?scid=fh;de;EN-US; CNTACTMS
Weitere Informationen zum Ausführen von Beispielcode finden Sie der Microsoft Knowledge Base:
212536 OFF2000: wie Ausführen des Beispielcodes aus Knowledge Base-Artikeln
Geben SIE wichtige Funktionen in Word 6.0
Betätigen Sie die EINGABETASTE in einem Dokument mit geschützten Formularen in Word 6.0 für Windows wird die Einfügemarke in das nächste Formularfeld verschoben. Im Gegensatz dazu in höheren Versionen von Word die EINGABETASTE nicht auf das nächste Formularfeld sondern stattdessen Fügt eine Absatzmarke ein, wie in einem ungeschützten Dokument. Dadurch werden mehrere Textzeilen in einem Text-Formularfeld eingeben.
Makros
Im folgenden werden vier Visual Basic for Applications-Makros, die zusammen mit kann Word 6.0 für Windows-Funktionalität der EINGABETASTE neue geschützte Feld Dokumenten basierend auf einer Vorlage zu emulieren. Nachfolgend eine kurze Beschreibung der Funktionen der einzelnen Makros:
-
Das erste Makro verschiebt die Einfügemarke in das nächste Formularfeld.
-
Das zweite Makro weist das erste Makro die EINGABETASTE.
-
Das dritte Makro wird sichergestellt, dass Schlüsselfunktionen weiterhin beim Öffnen eines Dokuments in Zukunft auf der Formularvorlage basiert.
-
Das vierte Makro entfernt EINGABETASTE wiederherstellen die Standardfunktionen der EINGABETASTE das zugewiesene Makro.
Wichtig: für diesen Code zu schreiben, die Vorlage sollte nicht geschützt. Die Vorlage geschützt ist, wird die folgende Fehlermeldung angezeigt:
Der Kontext kann nicht geändert werden.
Gehen Sie folgendermaßen vor, um die Vorlage aufzuheben:
-
Öffnen Sie die Vorlage, die Makros in diesem Artikel beschriebenen enthält.
-
Klicken Sie im Menü Extras auf Dokumentschutz.
-
Klicken Sie im Menü Datei auf Speichern.
-
Klicken Sie im Menü Datei auf Schließen.
Erste Makro: Verschieben der Einfügemarke in das nächste Formularfeld
Dieses Makro verschiebt die Einfügemarke in das nächste Formularfeld. Ist das aktuelle Formularfeld einem Dokument, wird die Einfügemarke in das erste Formularfeld verschoben.
Dieses Makro verwendet die Bookmarks-Auflistung zum Abrufen des Namens des aktuellen Formularfeldes. Der Name jedes Formularfeld ist auch der Name einer Textmarke für das Formularfeld eingefügt. Haben Sie alle Lesezeichen im Dokument möglicherweise mehr Code hinzufügen, um Fehler zu behandeln. Das Makro wird davon ausgegangen, dass alle Formularfelder in den Dokumenten Benutzereingaben zulassen. Ist dies nicht der Fall in Ihrem Dokument, müssen Sie zusätzlichen Code in Ihrem Makro hinzufügen.
Das Makro überprüft, ob im aktuelle Abschnitt ist geschützt oder ungeschützt und das nächste Formularfeld (in einem geschützten Bereich verschiebt) oder eine Absatzmarke ein (in einem ungeschützten Abschnitt fügt). Diese Funktion ist für Dokumente, die beide Abschnitte enthalten, die für Formular eingeben und ungeschützt geschützt sind Abschnitte.
Sub EnterKeyMacro()
' Check whether the document is protected for forms
' and whether the protection is active.
If ActiveDocument.ProtectionType = wdAllowOnlyFormFields And _
Selection.Sections(1).ProtectedForForms = True Then
' Retrieve the bookmark of the current selection.
' This is equivalent to the name of the form field.
myformfield = Selection.Bookmarks(1).Name
' Go to the next form field if the current form field
' is not the last one in the document.
If ActiveDocument.FormFields(myformfield).Name <> _
ActiveDocument.FormFields(ActiveDocument.FormFields.Count) _
.Name Then
ActiveDocument.FormFields(myformfield).Next.Select
Else
' If the current form field is the last one,
' go to the first form field in the document.
ActiveDocument.FormFields(1).Select
End If
Else
' If the document is not protected for forms,
' insert a tab stop character.
Selection.TypeText Chr(13)
End If
End Sub
Zweites Makro: Die EINGABETASTE EnterkeyMacro Makro zuweisen
Dieses Makro fügt das EnterKeyMacro-Makro an EINGABETASTE die Funktion der Taste Dokument Formularfelder Verwendung und Anpassung. Wenn Sie dieses Makro in eine benutzerdefinierte Vorlage verwenden, nennen Sie es AutoNew. Dadurch wird die Funktionalität der EINGABETASTE in allen neuen Dokumenten basierend auf der Vorlage.
Sub AutoNew()
' Do Not protect the template containing these macros.
CustomizationContext = ActiveDocument.AttachedTemplate
' Bind the ENTER key to the EnterKeyMacro.
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyReturn), _
KeyCategory:=wdKeyCategoryMacro, Command:="EnterKeyMacro"
' Reprotect the document with Forms protection.
ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True
End Sub
Dritte Makro: Die EINGABETASTE AutoOpen-Makro zuweisen
Fügen Sie ein AutoOpen-Makro durch den folgenden Code hinzu. Dadurch Schlüsselfunktionen weiterhin beim Öffnen eines Dokuments in Zukunft auf der Formularvorlage basiert.
Sub AutoOpen()
' This macro will reassign the ENTER key when you open an existing
' Word form fields document.
CustomizationContext = ActiveDocument.AttachedTemplate
' Bind the Enter key to the EnterKeyMacro.
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyReturn), _
KeyCategory:=wdKeyCategoryMacro, Command:="EnterKeyMacro"
End Sub
Hinweis: Diese Makros ausführen können einige Funktionen AutoText, wie AutoKorrektur deaktivieren und beeinträchtigen andere Features, die EINGABETASTE für den ordnungsgemäßen Betrieb abhängig. Sie müssen die vierte Makro um die Standardfunktionen der EINGABETASTE wiederherzustellen, oder starten Sie Microsoft Word.
Vierte Makro: Entfernen des Befehls die EINGABETASTE zugewiesen
Dieses Makro stellt Standardfunktionen der EINGABETASTE. Wenn Sie dieses Makro in eine benutzerdefinierte Vorlage verwenden, nennen Sie es AutoClose.
Sub AutoClose()
CustomizationContext = ActiveDocument.AttachedTemplate
FindKey(KeyCode:=BuildKeyCode(wdKeyReturn)).Disable
' Disables prompt to save template changes.
Templates(1).Save
End Sub
Hinweis: die CustomizationContext -Eigenschaft wird der Speicherort, Tastatur anpassen, in diesem Fall speichernden Vorlage an das aktive Dokument.
Referenzen
Weitere Informationen zu den verfügbaren Ressourcen zum Erstellen von benutzerdefinierten Projektmappen mit Visual Basic for Applications und Microsoft Word 2000 finden Sie zu die Artikeln der Microsoft Knowledge Base:
212623 WD2000: Makro Programmierressourcen
226118 OFF2000: Ressourcen für die Programmierung für Visual Basic for Applications