Hej, Jag rekommenderar att du arbetar med ett Range-objekt istället för Selection. Man kan även lägga in bokmärken och skriva till dessa, utan att behöva ta hänsyn till var markören står:VBA word sidhuvud kodning
har precis börjat lära mig VBA för word och sitter med ett problem. Jag håller på att skapa ett macro som ska fylla i sidhuvudet med information. Jag använder mig då av följande teknik, där jag hoppar runt i sidhuvudet och fyller i text:
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.TypeText Text:="Företagsnamn"
Selection.MoveDown Count:=1
Selection.TypeText Text:=strRubrik
Men jag har två problem med detta:
1.MovedDown kommandot flyttar ner markeringen till sidfoten så att informationen i strRubrik skrivs in där istället, om man inte har gått in i dokumentet och manuellt lagt till en rad i sidhuvudet och sedan flyttat upp markören igen. Vill undvika att behöva lägga till rader manuellt, så hur kan jag göra detta i koden?
2. Koden ovan förutsätter att markören från början befinner sig i övre vänstra hörnet av sidhuvudet, vilket inte alltid är fallet. Så hur kan man ta reda på var markören befinner sig, och sedan flytta den till övre vänstra hörnet innan koden körs?
mvh RobinSv: VBA word sidhuvud kodning
Om följande gäller:
- det står inte redan något i sidhuvudet som ska sparas
- texten ska in i första avsnittets sidhuvud
- dokumentet har inte annorlunda förstasida
så kan du skriva så här
ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range = "Företagsnamn" & vbCr & strRubrik
Sv: VBA word sidhuvud kodning
ActiveDocument.Bookmarks("Rubrik").Range.Text = strRubrik
Mvh. Roffe