Image recolor with VBA

  • Thread starter Thread starter Nik
  • Start date Start date
N

Nik

Hi all,

does anybody know what's the VBA method to obtain the same effect of
recoloring a bitmap inserted on a worksheet ? if you place a picture
on a sheet with Insert | Picture, then right click on it and select
Picture format | Picture | Recolor (select anyone) the picure is
recolored applying a transparent layer of the selected color on it.
How to obtain the same effect with VBA ? I cannot find the right
method.
thanks in advance
Nik

PS : I'am using XL2007 in Italian, command translations could be
slightly different, sorry
 
Nik explained :
Hi all,

does anybody know what's the VBA method to obtain the same effect of
recoloring a bitmap inserted on a worksheet ? if you place a picture
on a sheet with Insert | Picture, then right click on it and select
Picture format | Picture | Recolor (select anyone) the picure is
recolored applying a transparent layer of the selected color on it.
How to obtain the same effect with VBA ? I cannot find the right
method.
thanks in advance
Nik

PS : I'am using XL2007 in Italian, command translations could be
slightly different, sorry

Did you try using the macro recorder?
 
Nik explained :

Did you try using the macro recorder?

On XL2007 ? You have to be kidding. It is complete junk on that version.

If you are *very* lucky it might at best produce something that is
syntactically valid called Macro1() but doesn't work and at worst it
will crash at runtime in a hopeless mess.

I'd hazard a guess it is something in or near .ShapeRange.Fill but it
may require some trial and error on your part to find it and make it
behave as you would like. Don't expect any help from the help system :(

Regards,
Martin Brown
 
Martin Brown used his keyboard to write :
On XL2007 ? You have to be kidding. It is complete junk on that version.

If you are *very* lucky it might at best produce something that is
syntactically valid called Macro1() but doesn't work and at worst it will
crash at runtime in a hopeless mess.

I'd hazard a guess it is something in or near .ShapeRange.Fill but it may
require some trial and error on your part to find it and make it behave as
you would like. Don't expect any help from the help system :(

Regards,
Martin Brown

Well stated!
I'd probably use an earlier version and record manual steps just to get
the right object refs, then rewrite into something more formidable.<g>
 
I did try to use the 2007 macro recorder, nothing gets recorded
unfortunately. I also tried 2003 but that method wasn't available at
that time.Thanks for suggesting. ShapeRange.Fill, I'll try that too.
Nik
 
hi Nik and All,

the following code works on XL2002, i hope it will work for xl2007

Sub Macro1()
With Worksheets(1).Shapes("Picture 1").Fill
.Visible = True
.BackColor.RGB = RGB(170, 170, 170)
.Transparency = 0.99
End With
End Sub
 
Thank you Isabelle,

Your code seems formally correct, no errors in macro, but when run
nothing happens.
Nik
 
Hi all,

does anybody know what's the VBA method to obtain the same effect of
recoloring a bitmap inserted on a worksheet ? if you place a picture
on a sheet with Insert | Picture, then right click on it and select
Picture format | Picture | Recolor (select anyone) the picure is
recolored applying a transparent layer of the selected color on it.
How to obtain the same effect with VBA ? I cannot find the right
method.
thanks in advance
Nik

PS : I'am using XL2007 in Italian, command translations could be
slightly different, sorry

Really late to this convo, but in case anyone stumbles across this....

For whatever reason, Microsoft hasn't 'exposed' the recolor method in Excel/PowerPoint. You can do it manually using the ribbon, but not via VBA. The method is exposed in Publisher.

http://msdn.microsoft.com/en-us/library/office/ff939364(v=office.15).aspx
 
Back
Top