我如何使用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