Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

En version av denna artikel för Microsoft Word 97 för att se
187985.

Sammanfattning

Denna artikel innehåller fyra Microsoft Visual Basic for Applications-makron som du kan använda för att emulera Microsoft Word 6.0 för Windows-funktioner på RETUR-tangenten för att flytta mellan fälten i skyddade dokument.

Mer Information

Microsoft tillhandahåller programmeringsexempel endast utan garanti varken uttryckliga eller underförstådda, inklusive men inte begränsat till, underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. Den här artikeln förutsätter att du är bekant med det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till med att förklara funktionen hos en viss procedur, men kan inte ändra dessa exempel för att ge ytterligare funktioner eller skapa procedurer som motsvarar dina behov.
Om du har begränsad programmeringserfarenhet kan du kontakta en Microsoft Certified Partner eller Microsoft Advisory Services. Mer information finns i följande Microsoft-webbplatser:

Microsoft Certified Partner - https://partner.microsoft.com/global/30000104

Microsoft Advisory Services - http://support.microsoft.com/gp/advisoryservice

Mer information om de supportalternativ som är tillgängliga och hur du kontaktar Microsoft finns på följande Microsoft-webbplats:http://support.microsoft.com/default.aspx?scid=fh; EN-US; CNTACTMS
Mer information om hur du kör exempelkod klickar du på artikelnumret nedan och läser artikeln i Microsoft Knowledge Base:

212536 OFF2000: hur du kör exempelkod från artiklar i Knowledge Base

Ange viktiga funktioner i Word 6.0

Om du trycker på RETUR i ett dokument som är skyddat för formulär i Word 6.0 för Windows flyttar insättningspunkten till nästa formulärfält. Däremot flytta inte till nästa formulärfält på Enter i senare versioner av Word men i stället infogar ett stycketecken, precis som i ett oskyddat dokument. Här kan du ange flera rader med text i en textruta.

Makron

Nedan följer fyra Visual Basic for Applications-makron som du kan använda tillsammans för att emulera Word 6.0 för Windows-funktioner på RETUR i nya skyddade formulär fält dokument baserat på en mall. Här följer en kort beskrivning av funktionerna i varje makro:

  • Det första makrot flyttar insättningspunkten till nästa formulärfält.

  • Andra makro tilldelas det första makrot på RETUR-tangenten.

  • Makrot tredje säkerställer att viktiga funktioner fortsätter när du öppnar ett dokument som baseras på formulärmallen i framtiden.

  • Fjärde makrot tar bort tilldelade makrot från på Enter, återställa standardfunktionaliteten i RETUR-tangenten.

Viktigt: för den här koden som skrivits mallen inte bör skyddas. Om mallen är skyddad visas följande felmeddelande:

Kontexten kan inte ändras.

Gör så här om du vill ta bort skyddet för mallen:

  1. Öppna den mall som innehåller makron som beskrivs i denna artikel.

  2. Dokumentskyddpå Verktyg -menyn.

  3. Klicka på Sparapå Arkiv -menyn.

  4. Klicka på Stäng på Arkiv -menyn.

Första makro: Flytta insättningspunkten till nästa formulärfält

Det här makrot flyttar insättningspunkten till nästa formulärfält. Om det aktuella formulärfältet är den sista i dokumentet, flyttas insättningspunkten till det första formulärfältet.

Det här makrot används samlingen bokmärken för att hämta namnet på det aktuella formulärfältet. Namnet på varje formulärfält är också namnet på ett bokmärke som infogas i formulärfältet. Om du har andra bokmärken i dokumentet kan kanske du lägga till mer kod här för att hantera potentiella fel. Makrot förutsätter också att alla formulärfält i handlingarna som tillåter indata från användaren. Om så inte är fallet i dokumentet måste du lägga till ytterligare kod i makrot.

Makrot kontrollerar om det aktuella avsnittet är skyddade eller oskyddade och sedan flyttar till nästa formulärfält (i ett skyddat avsnitt) eller infogar ett stycketecken (i ett oskyddat avsnitt). Den här funktionen krävs för dokument som innehåller båda delarna skyddas för formulär som indata och oskyddade avsnitt.

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

Andra makro: Tilldela tangenten RETUR makrot EnterkeyMacro

Detta makro bifogas på Enter omprogrammering därmed funktionen i nyckeln när den används i skyddade dokument formulärfält makrot EnterKeyMacro. När du använder det här makrot i en anpassad mall namnet AutoNew. Detta ändrar funktionen på RETUR i alla nya formulär-dokument baserat på mallen.

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

Tredje makro: Tilldela tangenten RETUR AutoOpen-makro

Lägg till följande kod i ett AutoOpen-makro. Detta säkerställer att viktiga funktioner fortsätter när du öppnar ett dokument som baseras på formulärmallen i framtiden.

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

Obs: dessa makron körs kan inaktivera vissa funktioner som Autokorrigering och AutoText och kan påverka andra funktioner som är beroende på Enter för att fungera korrekt. Du måste köra fjärde makrot för att återställa standardfunktionaliteten i tangenten RETUR eller starta om Microsoft Word.

Fjärde makro: Ta bort kommandot som tilldelats på Enter

Det här makrot återställer standardfunktionaliteten i RETUR-tangenten. När du använder det här makrot i en anpassad mall namnet AutoClose.

Sub AutoClose()
CustomizationContext = ActiveDocument.AttachedTemplate
FindKey(KeyCode:=BuildKeyCode(wdKeyReturn)).Disable
' Disables prompt to save template changes.
Templates(1).Save
End Sub

Anmärkning: CustomizationContext -egenskapen anger den plats där Anpassa tangentbord ska sparas i detta fall mallen som är kopplad till det aktiva dokumentet.

Referenser

Mer information om tillgängliga resurser för att skapa anpassade lösningar med Visual Basic for Applications och Microsoft Word 2000 klickar du på artikelnumren nedan och läser artiklarna i Microsoft Knowledge Base:

212623 WD2000: programmeringsresurser för makro

226118 OFF2000: programmeringsresurser för Visual Basic for Applications

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×