Inserted picture name

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hello
I have inserted a small version of a picture onto a spreadsheet. I've then
linked a macro that opens a userform with a frame on it that displays a
bigger version of the picture when you click on it. This works if I
physically put the path name of the picture in the code. Can I pick up in the
code the name of the picture on the spreadsheet as I am going to have
multiple small pictures on the spreadsheet and would like to only access one
sub to load it onto the userform.

Regards
DaveJones
 
I don't believe this information is available as there is no link from the
picture to the file once it is inserted. However, you could just hardcode
the reference to the file in your code.
 
Tom
What I was trying to do was pick up the name of the picture on the
spreadsheet as it appears in the namebox ie "Picture1" and then use this name
to load the picture onto the userform. So I would name the files on my hard
drive Picture1 etc and then use this variable in the code ie
loadpicture("c:\+Picture1+".jpg") or something similar. So I wouildn't need
to know the original name.Any ideas?!

Regards
DaveJones
 
Maybe you could store the fullpath of the bigger version in the
AlternativeText property of the small worksheet picture.

In the macro

sPath = ActiveSheet.Shapes(Application.Caller).AlternativeText

Simplest is if sPath is a public variable to be read during the forms
initialize event, though there are other ways without using a public var.

Regards,
Peter T
 
You can get that in the code fired by the picture:

sName = Application.Caller

sStr = "C:\" & sName & ".jpg"
 
Thanks Peter
I used sPath = ActiveSheet.Shapes(Application.Caller).Name
This picked up which picture I had clicked on and loaded the relevant
picture from the hard disk. All working fine!
Regards
DaveJones
 
If you only want the name go with the simpler code Tom suggested

s = ActiveSheet.Shapes(Application.Caller).Name
s = Application.Caller

will both return the same

Regards,
Peter T
 
Thanks All
Easy when you know how!

Peter T said:
If you only want the name go with the simpler code Tom suggested

s = ActiveSheet.Shapes(Application.Caller).Name
s = Application.Caller

will both return the same

Regards,
Peter T
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top