Opgelost Met VBA randje om Word object zetten

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

HansFRAP

Gebruiker
Lid geworden
12 jul 2011
Berichten
233
Beschrijving
In een Word-document wil ik, een scherm afbeelding, een randje geven.
Tevens wil ik de tekstregel waarin het object (?) is geplakt de stijl Figuur geven. (Stijl is in document aanwezig)

Vraag
Ik zou dus een macro willen starten die een randje om het geselecteerde object zet en vervolgens de stijl: Figuur selecteerd.

Probleem
Kan geen code vinden die, reeds geselecteerde object, een randje geeft. 😢
 

Bijlagen

Geen idee waarom je een macro zou willen hebben voor een actie die welgeteld 0,6 seconde tijd kost, maar ik kijk er wel even naar. Bedenk wel dat het afbeeldingstype moet worden veranderd om code te kunnen laten draaien.
 
@ OctaFish Het waarom ligt in het feit dat je bij het maken van een (bedrijfs)handleidingen zo'n handeling tig keer moet doen.
Het selecteren van opmaak en selecteren van een stijl is steeds hetzelfde maar moeten vanuit ander menu worden gestart.
Dus dan graag een knoppie.
 
Dan nog moet je de objecten (afbeeldingen) eerst handmatig selecteren, of wil je dat alle afbeeldingen in het document op dezelfde wijze worden opgemaakt?
 
Ik denk dat het het handigste is om afbeelding voordat je knopje klikt geselcteerd hebt.
Anders moet je alle afbeeldingen door en dan kijken of er reeds een randje omheen zit.
 
Ik zal er morgen even naar kijken. Heb denk ik nog wel wat liggen.
 
CSS:
Sub M_snb()
  For Each it In ActiveDocument.InlineShapes
     it.Borders.OutsideColor = vbBlack
     it.Borders.OutsideLineWidth = 48
  Next
End Sub
 
Dit blijkt een vergeten gebied bij de Word VBA-programmeurs.
Het eenvoudigst is: selecteer voor de eerste afbeelding de gewenste 'picture style' en gebruik dan deze macro:

CSS:
Sub M_snb()
  ActiveDocument.InlineShapes(1).Select
  Selection.CopyFormat
  For Each it In ActiveDocument.InlineShapes
     it.Select
     Selection.PasteFormat
  Next
End Sub

Ondanks de OOP pretenties van VBA in Word werken 'copyformat' en 'pasteformat' alleen op 'selection' en niet direct op een object uit een verzameling.
 
Kleine toevoeging op de uitwerking.
- De rand krijgt continue de kleur zwart.
- Poging gedaan om hier variatie in te krijgen maar heeft geen verschil gemaakt. Blijft helaas zwart!

Code:
Sub OpmaakFiguur()
Dim It                                          'Item
  For Each It In ActiveDocument.InlineShapes
'     It.Borders.OutsideColor = RGB(68, 114, 196)
'     It.BordersOutsideColor = vbBlue
'     It.Borders.OutsideColor = -738131969
'     It.Borders.OutsideColor = 41
     It.Borders.OutsideColor = vbBlack
     It.Borders.OutsideLineWidth = 2
     On Error Resume Next
'     Selection.Style = ActiveDocument.Styles("Figuur")
'     If Err.Number <> 0 Then
'        Selection.Style = ActiveDocument.Styles("Standaard")
'     End If
  Next
End Sub
 
Waar is je voorbeeldbestand ?
Hier heeft ie al de hele regenboog gehad.
 
@snb
Plaatje krijg ik door:
- in Excel: Win+Shft+S te activeren.
- gebied selecteren en
- in Word plakken.
- routine draaien

Er lijken 2 functies gebruikt te worden.
1) Randen arceren en 2) Afbeelding Opmaak:
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan