Word VBA: wissen afbeelding met behoud van het ‘inhoudsbesturingselement’

Status
Niet open voor verdere reacties.

Tonex

Gebruiker
Lid geworden
6 jul 2012
Berichten
43
Helpmij :(

In een formulier (beveiligd als bewerking beperken formulier invullen) heb ik de mogelijkheid om afbeeldingen in te voegen d.m.v. inhoudsbesturingselement voor afbeeldingen.

Nu zou ik graag d.m.v. VBA enkele afbeeldingen (dus niet alle) ‘leeg’ willen maken.
Dus wissen maar met behoud van het ‘inhoudsbesturingselement voor afbeeldingen’.

Dit om het formulier deels te kunnen leegmaken. Tekstvelden, keuze-dropdown en selectie-checkbox kan ik 'wissen' omdat deze met bladwijzers te definiëren zijn, maar met afbeelding weet ik niet hoe ik dit moet aanpakken.

Is dit mogelijk m.b.v. VBA ?

...voorbeeld 'test formulier - VBA wissen afbeelding.docx' is nog zonder VBA en nog niet als .docm opgeslagen.

Graag hulp !
 

Bijlagen

Laatst bewerkt:
Je kunt met een loop door alle contentcontrols heenlopen, en ze desgewenst leegmaken.
Code:
Dim oCC As ContentControl
    For Each oCC In ActiveDocument.ContentControls
        If oCC.Type = wdContentControlPicture Then
            If oCC.Range.InlineShapes.Count > 0 Then
                Select Case oCC.Title
                    Case "Afbeelding 1", "Afbeelding 3", "Afbeelding 5"
                        oCC.Range.InlineShapes(1).Delete
                End Select
            End If
        End If
    Next
 
Hallo OctaFish,

Jouw code toegepast in het document 'test formulier - VBA wissen afbeelding.docm' (zie bijlage).
Het geeft een foutmelding op regel "oCC.Range.InlineShapes(1).Delete".

Graag de foutmelding in het test-document bekijken ...

Bij voorbaat dank !!
 

Bijlagen

Je logo is geen afbeelding. Vervang het eerste object door een afbeelding, en de macro werkt prima.
 
Ik weet niet wat je bedoeld, een afbeelding via "Invoegen' > 'Afbeelding' (zoals nu in test document) is bij een beveiligd formulier niet te 'wijzigen'.
Via 'Ontwikkelaars' > 'Ontwerpmodus' > 'Besturingselementen' > 'Inhoudsbesturingselement voor afbeeldingen' wel.
Benaming 'Afbeelding 1' onder 'Bijschrift toevoegen' gezet.

Maar ??? Zal wel niet juist zijn :confused:
 

Bijlagen

De code werkt inderdaad wel, echter niet wanneer het formulier is beveiligd d.m.v. 'Bewerking beperken' > 'Formulieren invullen'.

Is dit te realiseren ?
 
Bij mij werkt-ie prima, als het formulier beveiligd is. Gebruik je wel de goede beveiligingsopties?
 
TekstVelden worden gereset, maar dat kun je omzeilen.
Code:
    ActiveDocument.Protect wdAllowOnlyFormFields, NoReset:=True
 
VBA code werkt TOP OctaFish :thumb:
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan