【问题标题】:How to copy/paste shape using Shell Application?如何使用 Shell 应用程序复制/粘贴形状?
【发布时间】:2020-01-22 15:33:15
【问题描述】:

我正在尝试将单个图像导出到文件夹。

我在工作簿中手动插入图像,并将形状重命名为“logo”。

我之前使用过类似的东西,但也许它只适用于 OLEObjects?

ThisWorkbook.Sheets("Start Here").Shapes("logo").Copy
CreateObject("Shell.Application").Namespace(ThisWorkbook.Path & "\").Self.InvokeVerb "Paste"

代码运行,但对象未“粘贴”到目标目录。

【问题讨论】:

    标签: excel vba


    【解决方案1】:
    Sub test()
    Dim chtObj As ChartObject
    
        With ThisWorkbook.Worksheets("Start Here")
    
            .Activate
    
            Set chtObj = .ChartObjects.Add(100, 30, 400, 250)
            chtObj.Name = "TemporaryPictureChart"
    
            'resize chart to picture size
            chtObj.Width = .Shapes("logo").Width
            chtObj.Height = .Shapes("logo").Height
    
            ActiveSheet.Shapes.Range(Array("logo")).Select
            Selection.Copy
    
            ActiveSheet.ChartObjects("TemporaryPictureChart").Activate
            ActiveChart.Paste
    
            ActiveChart.Export Filename:=ThisWorkbook.Path & "\image.jpg", FilterName:="jpg"
    
            chtObj.Delete
    
        End With
    
    End Sub
    

    Export Pictures Excel VBA更新代码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-23
      • 2019-07-02
      • 1970-01-01
      • 2020-05-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-03
      • 2013-12-27
      相关资源
      最近更新 更多