Avatar billede claus_luchow Nybegynder
22. februar 2002 - 10:03 Der er 16 kommentarer og
1 løsning

Anvendelse af autokorrektur i en formulars tekstfelter

MS Word 2000 – SR 1 (DK)

Jeg har oprettet en skabelon og har her oprettet et antal tekstfelter (værktøjslinien Formularer). Formularen er beskyttet (Funktioner, Beskyt dokument) således, at der kun tillades indtastning i tekstfelterne.

Mit problem er, at autokorrekturen bliver deaktiveret, når skabelonen skal anvendes.

Er der nogen som har løsningen til at aktivere autokorrekturen.

Hvis løsningen er VBA-kodning, bedes svaret venligst være detaljeret (da jeg ikke er så stærk i VBA).

Problemet har virkelig voldt mig problemer, så jeg vil være meget taknemmelig for et brugbart svar. På forhånd tak.
Avatar billede rvm Nybegynder
22. februar 2002 - 13:16 #1
Der er kun en mulighed - du må afbeskytte dit dokument - autokorrekturen kan ikke køre, når dokumentet er beskyttet.
Avatar billede rvm Nybegynder
22. februar 2002 - 13:26 #2
Du har dog den mulighed, at du kan lave formularfelterne om til almindelig tekst, hvorefter autokorrekturen (og stavekontrol) vil virke. Denne makro kunne ligge på en knap som brugeren trykker på eller ligge på et  formularfelt som en indgangsmakro eller udgangsmakro - du skal så huske at sikre dig at brugeren som det sidste taster sig hen til formularfeltet, hvis du vælge makroen på et formularfelt
Avatar billede claus_luchow Nybegynder
22. februar 2002 - 13:29 #3
Kære RVM. Min afvisning gælder dit første svar. Hvis dokumentet skal afbeskyttes, aktiveres autokorrekturen, men dette vil ikke have indflydelse på de indtastede data i tekstfeltet.

Jeg vil lige studere dit andet svar, og give en tilbagemelding herom.
Avatar billede rvm Nybegynder
22. februar 2002 - 13:30 #4
Her er en kode der kan det *S*

Sub Autokorrektur()

Set doc = ActiveDocument
If doc.ProtectionType <> wdNoProtection Then
  ActiveDocument.Unprotect
End If

Selection.WholeStory
Selection.Fields.Unlink

End Sub
Avatar billede rvm Nybegynder
22. februar 2002 - 13:32 #5
Du har helt ret m.h.t. at autokorrekturen ikke virker selvom dokumentet ikke er beskyttet - der var jeg lidt hurtig *S*
Avatar billede claus_luchow Nybegynder
22. februar 2002 - 13:53 #6
Kære RVM. Dit svar kl. 13.26:14 må jeg vist også afvise.
Hvis formularfelterne skal ændres til almindelig tekst (hvilket jeg ikke ved hvordan gøres), kan autokorrekturen aktiveres. Dette vil dog fortsat ikke have nogen indflydelse på den allerede indtastede tekst (i de oprindelige tekstfelter).

I dit svar kl. 13:30:44 skriver du en VBA kode med bemærkningen om at koden fungerer. I kommentaren kl. 13:32:09 skriver du, at du var for hurtig på aftrækkeren. Jeg afviser derfor dit svar.
Jeg vil med glæde give dig points, såfremt VBA koden fungerer. Som tidligere nævnt er VBA ikke min stærke side.
Derfor - hvis VBA koden fungere, og du kan fortælle mig, hvor og hvordan jeg skal anvende koden, så skal du nok få de lovede points :-).
Venligst Claus Lüchow
Avatar billede rvm Nybegynder
22. februar 2002 - 14:00 #7
Selvom min kode laver formularfeltet om til tekst, så aktiveres autokorrekturen ikke i de tekster, der kommer fra et formularfelt - desværre.

Jeg må derfor konstatere at svaret er at det desværre ingen løsning er!!! :-(
Avatar billede rvm Nybegynder
22. februar 2002 - 14:02 #8
Jeg har lige testet lidt mere. Er det OK at formularfelterne bliver lavet om til tekst? Hvis det er OK, så kan jeg hente teksten i formularfeltet, slette formularfeltet og sætte teksten ind som normal tekst - dette kræver dog noget mere kode, men kan sagtens lade sig gøre.
Avatar billede claus_luchow Nybegynder
22. februar 2002 - 14:16 #9
Det er helt i orden at formularfelterne bliver lavet om tekst.
Det vitale er, at brugerne udfylder tekstfelterne til at starte med, og at de indtastede data efterfølgende tilpasses autokorrekturens opbygning.
Avatar billede rvm Nybegynder
22. februar 2002 - 14:20 #10
OK - jeg vender tilbage med lidt kode - det bliver sikkert først i morgen, da jeg har lidt travlt på arbejdet lige nu *S*
Avatar billede claus_luchow Nybegynder
22. februar 2002 - 14:27 #11
Jeg takker og ser frem til "julegaven" :-)
Avatar billede rvm Nybegynder
22. februar 2002 - 16:26 #12
Værsgo *S*

Koden kunne sættes som en knap i værktøjslinien.

Sub Autokorrektur()

Set doc = ActiveDocument
'Sikerer at dokumentet ikke er skrivebeskyttet
If doc.ProtectionType <> wdNoProtection Then
  ActiveDocument.Unprotect
End If

'Løber alle formularfelter igennem
For Each fr In Application.ActiveDocument.FormFields
    'Går til formularfelt
    ActiveDocument.Bookmarks(fr.Name).Select
    'Lægger indholdet af formularfeltet ind i en variabel
    var = fr.Result
    'Sletter formulafeltet
    fr.Delete
    'Indsætter teksten fra variablen var
    Selection.Text = var
Next fr

'Går til toppen af dokumentet
Selection.HomeKey Unit:=wdStory
   
End Sub
Avatar billede claus_luchow Nybegynder
25. februar 2002 - 13:09 #13
Kære RVM

Jeg har nu prøvet din VBA kode i en makro. Det ser bestemt lovende ud, men det ønskede resultat opnåes fortsat ikke.

Din kode ophæver godt nok tekstfeltetne, men autokorrekturen retter fortsat ikke den tekst som før var indtastet i tekstfelterne. Denne test er udført på et nyoprettet dokument, og sikkerhedsniveauet i Word er sat til "lav". Jeg har indsat koden i en makro oprettet til formålet.

Hvis jeg opretter en tilsvarende makro i et eksisterende dokument, meldes der om fejl. Debuggeren kan ikke lide kommandoen "ActiveDokument.Bookmarks(fr.Name).Select".

Jeg må desværre fortsat afvise dit svar (selvom jeg er dig meget taknemmelig for dine forsøg). Håber at du fortsat har mod på at prøve.

På forhånd tak.

Venligst Claus Lüchow
Avatar billede rvm Nybegynder
25. februar 2002 - 13:59 #14
Autokorrekturen aktiveres desvære kun, når man indtaster og den tekst der nu er i dokumenterne er jo ikke lige blevet indtastet. Det min kode gør, er at den gør det muliget for autokorrekturen at fortælle hvor den har fundet uhensigtsmæsigheder, men den retter dem ikke :-(

m.h.t. "ActiveDokument.Bookmarks(fr.Name).Select", så kræver koden at alle formularfelter har bogmærker tilknyttet.
Avatar billede claus_luchow Nybegynder
25. februar 2002 - 14:12 #15
Kære RVM

Det var trist. OK, der syntes således ikke at være et brugbart svar til opgaven.

Du har trods alt gjort en ihærdig indsats, så hvis du ønsker det, så vil jeg gerne tildele dig de lovede points alligevel ~ det bestemmer du selv :-)

Venlig hilsen Claus Lüchow
Avatar billede rvm Nybegynder
25. februar 2002 - 14:34 #16
Hej Claus

Et nej (altså ingen løsning) er også et svar herinde, og er lige så gyldigt som et Ja (altså en løsning) *S*

Vi må håber at Microsoft snart finder ud af at brugeren nogle gange har behov for autokorrektur og stavekontrol i beskyttede dokumenter.
Avatar billede claus_luchow Nybegynder
25. februar 2002 - 15:12 #17
Kære RVM

Right, som du måske aner, er jeg temmelig nybegynder i dette spændende forum. Points coming up ;-).

Ok, om ikke andet, så er løsningen brugbar til anvendelse af stavekontrollen i en beskyttet formular.

Jeg takker meget for din indsats.

Venligst Claus Lüchow :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester