我如何使用Shapes.AddShape方法添加Camera对象

如果我loggingmacros。 我看到这个代码。

Selection.Copy ActiveSheet.Shapes.AddShape(, 480.75, 171#, 63#, 63#).Select ActiveSheet.Shapes.Range(Array("Picture 2")).Select Application.CutCopyMode = False 

当我看着MsoAutoShapeType激励时,我看不到相机对象。

如果我改变任何值,它会给出例外…(480.75,171#,63#,63#)文档说这些值是顶部,左边,宽度和高度…

我想写一个方法,可以创build相机对象,我给任何范围

 Sub TakePhoto(myRange As String, myPicture As String) 

我怎样才能做到这一点?

尝试这个:

 Sub TakePhoto(rngSource As Excel.Range, rngTarget As Excel.Range) Dim ws As Excel.Worksheet Dim shpPicture As Excel.Shape Set ws = rngTarget.Parent rngSource.Copy ws.Pictures.Paste Link:=True Set shpPicture = ws.Shapes(ws.Shapes.Count) With shpPicture .Top = rngTarget.Top .Left = rngTarget.Left End With End Sub 

像这样调用它:

 Sub test() TakePhoto Sheet2.Range("A1:C4"), Sheet1.Range("c5") End Sub