Kære Lene,
Tak fordi du svarer på dette indlæg.
Jeg kan oplyse dig, at det er de samme skabeloner jeg anvender og koden ligger i de samme globale skabeloner. Den eneste forskel er, at det virker i Word 2016 (32 bit), men ikke i Word 365 (32 bit). De fleste funktioner virker i 365, på nær lige nogle stykker,
men de funktioner som ikke længere virker korrekt har alle at gøre med sidehoved/fod.
Jeg prøvede i går, at tage den kode der fjerner en tekstboks i sidefoden, og kopierede den over i en ny global skabelon som jeg oprettede i 365, med det resultat, at koden virker som den skal i den nye 365 skabelon. Fint! Tænkte jeg! Jeg gør da bare det
samme med den kode som skal placere tekstbokse i mine sidehoveder, men, det virker stadig ikke!?! Jeg havde håbet, at jeg i 365 kunne oprette en ny global skabelon, overføre al koden, men det virker tilsyneladende heller ikke. Når jeg stepper koden igennem
er der ingen fejl. Alle værdier er som de skal være så det giver bare ikke nogen mening! Der ligger rigtig meget kode bagved og det ville være umuligt at poste det alt sammen her, men her kan du se lidt af den.
Sub SidehovedFirstPage(myDoc As Document, n As Integer, strTekst As String)
Dim bolSpecielførste As Boolean
Dim hd As HeaderFooter
Dim shp As Shape
frmSidehoved.OpdaterProgressBar 5
'Læser om der er speciel første side
bolSpecielførste = myDoc.Sections(n).PageSetup.DifferentFirstPageHeaderFooter
If bolSpecielførste = False Then
'Hvis ikke speciel første side er valgt, vælges dette midlertidigt
myDoc.Sections(n).PageSetup.DifferentFirstPageHeaderFooter = True
End If
Set hd = myDoc.Sections(n).Headers(wdHeaderFooterFirstPage)
SelekterSidehoved hd
Set shp = hd.Shapes.AddTextbox(msoTextOrientationHorizontal, CentimetersToPoints(2), CentimetersToPoints(2), CentimetersToPoints(2), CentimetersToPoints(2))
frmSidehoved.OpdaterProgressBar 5
'Tilpasser Tekstboksen
TilpasTekstISidehovedOpret shp, "F", n, strTekst
'Indstiller speciel første side til udgangspunkt
myDoc.Sections(n).PageSetup.DifferentFirstPageHeaderFooter = bolSpecielførste
End Sub
Sub SidehovedPrimary(myDoc As Document, n As Integer, strTekst As String)
Dim hd As HeaderFooter
Dim shp As Shape
frmSidehoved.OpdaterProgressBar 5
Set hd = myDoc.Sections(n).Headers(wdHeaderFooterPrimary)
SelekterSidehoved hd
Set shp = hd.Shapes.AddTextbox(msoTextOrientationHorizontal, CentimetersToPoints(2), CentimetersToPoints(2), CentimetersToPoints(2), CentimetersToPoints(2))
frmSidehoved.OpdaterProgressBar 5
'Tilpasser tekstboksen
TilpasTekstISidehovedOpret shp, "P", n, strTekst
End Sub
Sub TilpasTekstISidehovedOpret(shp As Shape, strName As String, n As Integer, strTekst As String)
' PlaceringAfTekstISidehoved shp
With shp
.RelativeHorizontalPosition = wdRelativeHorizontalPositionLeftMarginArea
.Left = CentimetersToPoints(3.21)
.RelativeVerticalPosition = wdRelativeVerticalPositionPage
.Top = CentimetersToPoints(3) ' Anden gang denne kode bliver kørt (fra SidehovedPrimary) er det, at det går galt i netop denne linje. At remme den ud løser ikke problemet. Jeg har prøvet men det resultat at placeringen fortsat er forkert. .Width = CentimetersToPoints(10)
.Height = CentimetersToPoints(1)
.Name = "bmkshtekst" & "_" & n & "_" & strName 'teksboksen navngives"
.Line.Transparency = 1 'Rammen om boksen er ikke synlig
With .TextFrame.TextRange
.Style = "ForsideOverSkriftGrå"
.ParagraphFormat.leftIndent = 0
.Text = strTekst
End With
End With
End Sub
En anden pudsig ting jeg også oplevede i 365 var, at jeg i starten ikke kunne få de makroer som kalder userforms til at virke, med mindre jeg fjernede kode som omhandler positioneringen af userformen (Se nedenfor). Og så pludselig, fra den ene dag til den
anden, så virkede det alligevel. Det er bare så mystisk og ikke mindst ved at drive mig til vandvid!
Private Sub UserForm_Initialize()
' Ved load af userform vælges første fane
Me.StartUpPosition = 0
Me.Left = Application.Left + (0.5 * Application.Width) - (0.5 * Me.Width)
Me.Top = Application.Top + (0.5 * Application.Height) - (0.5 * Me.Height)
Me.MultiPage1.Value = 0
Call SaetPlacering
End Sub
Alle forslag til hvad jeg kan prøve hilser jeg velkommen. PFT.