Bewerken shapes in header en footer binnen Word

Status
Niet open voor verdere reacties.

gjvk70

Gebruiker
Lid geworden
27 dec 2006
Berichten
7
Hoi allen,

Ik zit met een probleempje waar ik niet uit kom. Reeds vele 'oplossingen' geprobeerd welke ik heb gevonden op diverse forums. Zal vrees ik wel iets fout doen.

Korte uitleg:
Ik ben bezig met een template voor een standaardbrief voor een aantal van onze bedrijven. Binnen de header en footer heb ik een aantal shapes geplaatst, welke ik afhankelijk van een binnen een userform gekozen bedrijf wil laten staan of verwijderen.

Wat me wel lukt in de main-sectie van het bestand, maar niet in de header/footer is op basis van de shape-index, shapes te verwijderen.

Hier tekstueel wat ik wil bereiken:
If bedrijf = ""Bedrijf 1" then
For i = startwaarde to eindwaarde
inlineshape(i).delete
next i
End if


Ik dacht dit te kunnen bereiken met:
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.WholeStory

Maar hoe spreek ik binnen deze selectie de shapes aan via een indexnummer?
Wellicht zit ik hiermee overigens volledig op het verkeerde spoor.... ;-)

Elke hulp wordt zeer gewaardeerd.

Vriendelijke groet,
Gerard
 
Probeer het eens op te nemen met de macrorecorder en bestudeer dan de code.
Mogelijk is dan de manier te destileren wat je probleem op kan lossen.
 
Beste Jan,

Hartelijk dank voor de snelle reactie. Wellicht ben ik hiermee inderdaad een eind op de goede weg.

Onderstaand de opgenomen code:
Sub DeletePicture()
'
' DeletePicture Macro
' Macro recorded 27-12-2006 by eigenaar
'
If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
ActivePane.View.Type = wdOutlineView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.HeaderFooter.Shapes("Picture 42").Select
Selection.ShapeRange.Delete
End Sub

Indien ik de shapes kan benoemen (zie referentie "Picture 42"), dan kan ik gericht de juiste shapes verwijderen. Heb hier naar gezocht, maar kan dit (nog) niet vinden. Meen ook gelezen te hebben dat dit slechts lukt bij het invoegen van shapes middels vba.
Mocht je dit weten, dan hou ik me aanbevolen...


Ga hiermee eea proberen. Voor zover hartelijk dank.

Vriendelijke groet,
Gerard
 
Wellicht niet de meest sjieke oplossing, maar hiermee achterhaal ik in ieder geval de huidige naam en kan ik ook de naam via een inputbox wijzigen.

Sub WijzigShapeNaam()
Dim ShapeName As String
Dim InputNewName

ShapeName = Selection.ShapeRange.Name
MsgBox "Shape " & Chr(34) & ShapeName & Chr(34)

InputNaam = InputBox("Voer de nieuwe naam in voor deze shape")
Selection.ShapeRange.Name = InputNewName

End Sub

Bedankt voor het duwtje in de goede richting...

Groeten,
Gerard
 
Bewerken shapes in header footer binnen Word

Dag Gerard,

Nog een oplossing:


Private Sub Benoemen()
Dim f

For Each f In Selection.HeaderFooter.Shapes
f.Name = InputBox(f.Name, "", f.Name)
Next
End Sub

Private Sub Verwijderen()
With Selection.HeaderFooter
.Shapes("Logo1").Visible = (Bedrijfsnaam = "Bedrijf1")
.Shapes("Logo2").Visible = (Bedrijfsnaam = "Bedrijf2")
.Shapes("Logo3").Visible = (Bedrijfsnaam = "Bedrijf3")
End With
End Sub

met de eerste sub kun je de shapes benoemen en met de tweede sub laten verdwijnen of niet.
 
Beste Axel,

Bedankt voor de suggestie. Is zeker zinvol.
Echter moet wel weten welke shape geselecteerd is om deze een zinvolle naam te kunnen geven.

Vriendelijke groet,
Gerard
 
Dag Gerard,

Voeg de regel f.Select toe. Als je de sub start en je kijkt naar het document dan zie je welke shape is geselecteerd.


Private Sub Benoemen()
Dim f

For Each f In Selection.HeaderFooter.Shapes
f.Select
f.Name = InputBox(f.Name, "", f.Name)
Next
End Sub
 
Helemaal waar. Hartelijk dank hiervoor.

Vriendelijke groet,
Gerard van Kuijl
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan