Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 100
Default Proper way to call/pass excel.shape as a parameter?

Still working on a toolbar add-in for a project. I searched and found a few
methods for assigning a transparency mask in XL2003, which would be a nice
feature (makes the buttons look better). I'm trying to use a method provided
by KeepItCool in 2005, because I don't have an image editor on my work PC
that would allow me to change the transparency flag of my icons.

source:
http://www.tech-archive.net/Archive/.../msg05807.html

KeepItCool's procedure requires the passing of the following parameters:

Sub SetIcon(ByVal oBtn As Office.CommandBarButton, _
ByVal shpIcon As Excel.Shape, _
ByVal shpMask As Excel.Shape)

I'm having trouble figuring out the syntax to pass the Excel.shapes that I
have pasted on my worksheet, e.g.

For example,

frontface = ActiveSheet.DrawingObjects("ShowAllShifts")
maskface = ActiveSheet.DrawingObjects("mask2")
SetIcon(Newbtn, FrontFace, maskface)

or

Dim frontface As Excel.Shape
Set frontface = Sheet1.DrawingObjects("ShowAllShifts")
'etc

Can anyone tell me how to pass (by name) the icons on my sheet as
Excel.shape?
Thanks!
Keith


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,058
Default Proper way to call/pass excel.shape as a parameter?

Let's say we have shapes on a sheet and one of the shapes is named:
Rectangle 2
The following code passes the name of the shape as a string:

Sub main()
Dim shapename As String
shapename = "Rectangle 2"
Call routine(shapename)
End Sub

Sub routine(which_one As String)
ActiveSheet.Shapes(which_one).Select
End Sub


--
Gary''s Student - gsnu2007j
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 100
Default Proper way to call/pass excel.shape as a parameter?

Thanks Gary''s Student-

After much stress and hair-pulling, I got it working; it turns out that
while my syntax worked before I started using KeepItCool's procedure, the
way I was 'capturing' the shape reference was no longer valid. I was
originally using .DrawingObjects in an earlier version of my toolbar macro
(and it was working for how I was using it), but to pass the value to this
new procedure I had to use .shape; once I switched to
Sheet1.Shapes("shapename") it all worked just fine.

Thanks!
Keith

"Gary''s Student" wrote in message
...
Let's say we have shapes on a sheet and one of the shapes is named:
Rectangle 2
The following code passes the name of the shape as a string:

Sub main()
Dim shapename As String
shapename = "Rectangle 2"
Call routine(shapename)
End Sub

Sub routine(which_one As String)
ActiveSheet.Shapes(which_one).Select
End Sub


--
Gary''s Student - gsnu2007j



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Pass parameter to launch batch file with variable from excel Frank Pozzuto New Users to Excel 0 January 15th 10 06:17 PM
Excel 2007 Refresh multiple data connections & pass parameter to S SaveTheMonarchButterflies Excel Discussion (Misc queries) 1 November 11th 08 11:58 PM
Call parameter query in Access from Excel VBA? Gustaf Excel Programming 1 April 25th 08 08:41 PM
run access macro from excel pass parameter Souris Excel Programming 7 January 5th 08 03:28 PM
Proper way to pass errors up the line Tod Excel Programming 1 July 18th 03 11:51 PM


All times are GMT +1. The time now is 04:15 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"