Avatar billede LS-Falster Juniormester
08. februar 2012 - 11:30 Der er 2 kommentarer og
1 løsning

Optimering af makro til at slette formfield (tekstfelt i formular)

Hej

Jeg har følgende kode, som sletter et tomt tekstfelt i formular:

Sub SletTomtAdressefelt()

  Dim f As FormField
  For Each f In ActiveDocument.FormFields
    If f.Type = 70 Then
      If f.Name = "Supplerende_adresse1" _
          And (f.TextInput.Default = f.Result Or Trim(f.Result) = "") Then
        f.Delete
      End If
    End If
  Next
End Sub

Jeg kunne dog godt tænke mig at få optimeret koden. Når jeg kører makroen, bladres hele dokumentet igennem (7 sider), og derefter springer cursoren til det næste tekstfelt i dokumentet. Det virker meget forstyrrende.

Egentlig skal makroen kun tjekke om det specifikke tekstfelt i formularen er tomt. Er det tilfældet, slettes tekstfeltet, og cursoren  springer videre til næste tekstfelt i dokumentet.

Jeg har også et supplerende spørgsmål. Jeg kan nogenlunde regne mig frem til de forskellige koder i makroen, lige bortset fra denne:
If f.Type = 70 Then
Hvad betyder det???

Mvh Lars
Avatar billede tjp Mester
08. februar 2012 - 13:14 #1
'f.Type = 70' betyder at feltet er et FormText felt; der ku også ha stået 'wdFieldFormTextInput' i stedet for '70'.

Er det noget a la dette du tænker på:

Sub SletTomtAdressefelt()
  Dim f As FormField
  Set f = ActiveDocument.FormFields("Supplerende_adresse1")
      If (f.TextInput.Default = f.Result Or Trim(f.Result) = "") And f.Type = wdFieldFormTextInput Then
        f.Delete
      End If
End Sub
Avatar billede LS-Falster Juniormester
08. februar 2012 - 13:50 #2
Det er lige nøjagtigt det, som jeg søgte. Det virker lige efter hensigten.

Findes der en liste over de forskellige makrokoder, som man kan finde på nettet? For en makro-analfabet som jeg, er det meget svært at gennemskue, hvad de enkelte koder kan.

Jeg siger mange tak for hjælpen.
Sender du et svar, så du kan få dine point.

Mvh Lars
Avatar billede tjp Mester
08. februar 2012 - 14:10 #3
Ved ikke helt hvad du mener med 'makrokoder', men hjælpen i VBE er rimelig omfattende. Og ellers er Google our friend.. :-)
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
Kategori
Tag et kursus i Word og øg effektiviteten

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