kan iemand mij op weg helpen met mijn vraag, ik kom er niet uit

Status
Niet open voor verdere reacties.

peetpjotter1000

Gebruiker
Lid geworden
7 mrt 2009
Berichten
11
Ik probeer in een excelsheet foto`s te plaatsen maar deze hebben verschillende afmetingen.
Nu probeer ik via vba dit voor elkaar te krijgen om deze de juiste afmeting te geven.
Dit lukt wel maar dan moet ik per foto een besturingsknop maken om deze te verkleinen naar een gewenste afmeting.
schiet ik dus weinig mee op.
Het is dus de bedoeling dat bij een nieuwe upload van foto`s ik op een knop kan drukken waardoor alle afbeeldingen hetzelfde formaat krijgen.
Het script wat ik nu heb is:

Code:
Sub schaal()
'
' schaal Macro
'

'
    ActiveSheet.Shapes.Range(Array("Picture 35")).Select
    Selection.ShapeRange.Height = 141.7322834646
    Selection.ShapeRange.Width = 170.0787401575
    Selection.ShapeRange.ScaleHeight 1.1329023813, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 1.0650887978, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 1.0277783772, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 1.0108108108, msoFalse, msoScaleFromTopLeft
    Range("E12").Select
    ActiveSheet.Shapes.Range(Array("Picture 35")).Select
    Selection.ShapeRange.LockAspectRatio = msoFalse
    Selection.ShapeRange.Height = 141.7322834646
End Sub

wie is er bereid om mij met dit probleem te helpen. mijn ervaring met vba is eigenlijk nog nihil:eek:.

ik heb uit het forum een ander script geprobeerd maar die verkleint alles, zelfs de besturingsknop.

Code:
Sub schalen()
Dim myShape As Shape

For Each myShape In ActiveSheet.Shapes
  myShape.ScaleWidth 0.53, msoFalse, msoScaleFromTopLeft
  myShape.ScaleHeight 0.53, msoFalse, msoScaleFromTopLeft
Next

End Sub

deze werkt dus niet voor mij of moet aangepast worden .


HELP!!!!
 
Laatst bewerkt:
gebruik de .height en .width eigenschap
 
Voeg niet een plaatje in maar een ActiveX Image object en geef deze een vaste maat. Voeg daar het plaatje aan toe via het Picture attribuut en zet het attribuut PictureSizeMode op 0 (fmPictureSizeModeClip)
 
Beste edmoor,

ik heb gedaan wat je schreef.
Ik moest wel de picturesizemode op 1 zetten (stretch) om de gehele foto te zien.

is het mogelijk om een besturingsknop voor deze afbeelding te maken om de foto te wisselen voor een andere? (dmv bladeren in de computer om daar afbeeldingen te selecteren)

nu moet dat via de eigenschappen van het activeX Image Object. dat vind ik niet echt gebruiksvriendelijk.

Hoop dat je weet of dit kan en hoe ik dat kan toepassen.

vriendelijke groet,
Peter
 
Laatst bewerkt:
Tuurlijk kan dat. Als je je document hier plaatst zal ik er een voorbeeld in maken.
 
Tuurlijk kan dat. Als je je document hier plaatst zal ik er een voorbeeld in maken.

Hoi Edmoor,

Ik heb google nog even geraadpleegd en ben met het volgende script aan de slag gegaan.
Code:
Private Sub Image1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Image1.Picture = LoadPicture(Application.GetOpenFilename)
End Sub

Ik heb nu dus een ActiveX Image object gemaakt.
deze opent het browse venster bij dubbelklik.
werkt allemaal prima.:thumb:

Alleen het volgende probleem is bij een volgend ActiveX Image object moet ik het scriptje herschrijven naar Image2. enz.
is het mogelijk om dit scriptje te gebruiken voor elke ActiveX Image object die ik aanmaak zonder deze aan te moeten passen?
 
Laatst bewerkt:
Ieder Image object heeft z'n eigen DblClick event dus dat zal sowieso per object moeten. Tenzij je met classes gaat werken maar ik denk dat dat nog een stapje te ver voor je is.
 
Ieder Image object heeft z'n eigen DblClick event dus dat zal sowieso per object moeten. Tenzij je met classes gaat werken maar ik denk dat dat nog een stapje te ver voor je is.

inderdaad,
ben al blij dat ik tot zover ben gekomen.
In ieder geval bedankt voor je advies.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan