Avatar billede BRS Nybegynder
10. december 2004 - 12:13 Der er 8 kommentarer og
1 løsning

Formatering af tekst via makro/VBA ændres ved udskrift

Hejsa,

Jeg sidder og bøvler med en makro/VBA som jeg synes opfører sig lidt underligt.

For lige at ha' noget konkret kode at kigge på er den her:

Sub Makro3()
'
' Makro3 Makro
' Makro indspillet 08-12-2004 af XXX
'
    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
        PreserveFormatting:=False
    Selection.TypeText Text:= _
        "ask batchnummer ""Indtast batchnummer: "" /d """""
    Selection.EndKey Unit:=wdLine
    Selection.TypeText Text:="*"
    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
        PreserveFormatting:=False
    Selection.TypeText Text:="ref batchnummer \ * fletformat"
    Selection.EndKey Unit:=wdLine
    Selection.TypeText Text:="*"
    Selection.TypeParagraph
    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
        PreserveFormatting:=False
    Selection.TypeText Text:="ref batchnummer \ * fletformat"
    Selection.WholeStory

    Selection.Fields.Update
    Selection.MoveUp Unit:=wdLine, Count:=1
    Selection.HomeKey Unit:=wdLine
    Selection.EndKey Unit:=wdLine, Extend:=wdExtend
    Selection.Font.Name = "Times new Roman"
    Selection.Font.Size = 28
    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
    Selection.MoveDown Unit:=wdLine
    Selection.HomeKey Unit:=wdLine
    Selection.EndKey Unit:=wdLine, Extend:=wdExtend
    Selection.Font.Name = "Times new Roman"
    Selection.Font.Size = 10
    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
    Selection.MoveUp Unit:=wdLine
End Sub

Kort fortalt skal brugeren spørges om et nummer. Denne nummer skal gentages på 2 linier - øverste "indkapslet" i *-tegn og i en anden font og størrelse.
Når det hele er færdig er den øverste linie en stregkode - fonten er dog ændret til Times New Roman, da strejkodefonten er lidt speciel. Strejkodefonten har dog ikke noget med problemet at gøre - Times New Roman opfører sig på nøjagtig samme måde.

Problemet er at at den nederste linie bliver ændret til samme størrelse som den øverste, men først når man vælger udskriv/vis udskrift. Indtil da står det lige som det skal på skærmen og også hvis man nærlæser på formateringen inden man vælger udskriv, ser det ud til at nederste linie er forskellig fra den øverste.

Skal lige nævne at det er Word XP (2002).

Håber jeg har fået alle oplysninger med... ellers er det bare at spørge.
Avatar billede jkrons Professor
10. december 2004 - 12:53 #1
Mystisk. Hvis du går ind i feltkoden efter at have været i Vis udskkrift står den i størrelse 12, men teksten står i 28. Hm! Det kræver lidt udforskning :-)
Avatar billede BRS Nybegynder
10. december 2004 - 12:59 #2
Godt så... så er det ikke bare mig der synes det er en anelse underligt... (-:
Avatar billede jkrons Professor
10. december 2004 - 13:04 #3
Jeg synes at det er specielt underligt at den står i 12 - når du sætter den til 10.
Avatar billede BRS Nybegynder
13. december 2004 - 12:06 #4
hmmm... det lader ikke til at der er nogen der har forslag ? :-(
Avatar billede rvm Nybegynder
13. december 2004 - 12:41 #5
Det er fordi dit ref felt opdateres ved udskriv (og Vis udskrift) - og opdateringen sker også på fonten.. Ser lige lidt nærmere på hvad din feltkode skal hedde for ikke at opdatere fonten.
Avatar billede BRS Nybegynder
13. december 2004 - 13:07 #6
Det vil jeg se frem til (o:

Det generer mig, at jeg ikke kan få færdiggjort mit lille projekt før denne lille del er i orden.
Avatar billede rvm Nybegynder
13. december 2004 - 13:22 #7
Prøv denne:

    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
        "ASK  batchnummer ""Indtast batchnummer: "" /d """"", PreserveFormatting:=False
    Selection.EndKey Unit:=wdLine
    Selection.TypeText Text:="*"
   
    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
        "REF  batchnummer ", PreserveFormatting:=True
    Selection.EndKey Unit:=wdLine
    Selection.TypeText Text:="*"
   
    Selection.GoTo What:=wdGoToBookmark, Name:="batchnummer"

    Selection.EndKey Unit:=wdLine, Extend:=wdExtend
   
    Selection.Font.Name = "Times new Roman"
    Selection.Font.Size = 28
    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
    Selection.EndKey Unit:=wdLine
    Selection.TypeParagraph
   
    Selection.Font.Name = "Times new Roman"
    Selection.Font.Size = 10
    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
   
    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
        "REF  batchnummer ", PreserveFormatting:=True
       
    Selection.HomeKey Unit:=wdLine
    Selection.EndKey Unit:=wdLine, Extend:=wdExtend
    Selection.Font.Size = 10
   
End Sub
Avatar billede isl19960 Nybegynder
13. december 2004 - 14:08 #8
Virkede næsten som det skulle...

Manglede lige en linien:

Selection.Font.Name = "Times new Roman"

før den allersidste font-størrelse ændring - så var det også muligt at ha' forskellige fonte på de 2 linier.

Jeg takker mange gange for hjælpen.
Avatar billede BRS Nybegynder
13. december 2004 - 14:21 #9
He - stod lige ved en kollegas skærm da jeg skrev ovenstående... Han var så logget ind med sit eget seføli... og jeg kunne ikke give point :-)
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