Addin

E

Excel User

Hi,

I have a workbook that I have used as an addin, how do I refer to it to do
something

i.e. if I have an image in the workbook in sheet1 how do I copy this to the
active workbook?

Thanks for any help!
 
D

Dave Peterson

You can use it just like any other workbook (well, almost). But in this case,
it's true.

Option Explicit
Sub testme()

Dim myFromPict As Picture
Dim myToPict As Picture
Dim myAspectRatio As Double

Set myFromPict _
= Workbooks("book1.xla").Worksheets("Sheet1").Pictures("Picture 1")

myFromPict.Copy
With ActiveSheet
.Paste
Set myToPict = .Pictures(.Pictures.Count) 'last one added
With myToPict
myAspectRatio = .Width / .Height
End With
myToPict.ShapeRange.LockAspectRatio = msoTrue
myToPict.Left = .Range("A1").Left
myToPict.Top = .Range("A1").Top
myToPict.Height = .Range("a1:a5").Height
With myToPict
.Width = myAspectRatio * .Height
End With
End With
End Sub
 
E

Excel User

Dave,

Cool - thanks for that !!

Regards,

Dave Peterson said:
You can use it just like any other workbook (well, almost). But in this
case,
it's true.

Option Explicit
Sub testme()

Dim myFromPict As Picture
Dim myToPict As Picture
Dim myAspectRatio As Double

Set myFromPict _
= Workbooks("book1.xla").Worksheets("Sheet1").Pictures("Picture 1")

myFromPict.Copy
With ActiveSheet
.Paste
Set myToPict = .Pictures(.Pictures.Count) 'last one added
With myToPict
myAspectRatio = .Width / .Height
End With
myToPict.ShapeRange.LockAspectRatio = msoTrue
myToPict.Left = .Range("A1").Left
myToPict.Top = .Range("A1").Top
myToPict.Height = .Range("a1:a5").Height
With myToPict
.Width = myAspectRatio * .Height
End With
End With
End Sub
 
Top