将分组形状导出为图像
Export grouped shape as image
我需要将名为 'center' 的分组形状以 .jpg 格式导出到共享文件夹。
如果使用键盘按钮 f8,我有代码可以完成这项工作。
如果代码正常运行,它会导出一张空白图片。
Sub Export_JPG()
Dim ws1 As Worksheet: Set ws1 = Worksheets("KPI")
Dim ws2 As Worksheet: Set ws2 = Worksheets("ChartPage")
Dim chtObj As ChartObject
Dim SharepointAddress As String
Dim myshape As shape
ws1.Range("A1").FormulaR1C1 = "=NOW()"
Set myshape = ws1.Shapes("center")
Set chtObj = ws2.ChartObjects.Add(myshape.Left, myshape.Top, myshape.Width, myshape.Height)
myshape.CopyPicture
chtObj.Chart.Paste
SharepointAddress = "C:\Users\me\Desktop.jpg"
Kill SharepointAddress
chtObj.Chart.Export Filename:=SharepointAddress, Filtername:="JPG"
chtObj.Delete
Set chtObj = Nothing
End Sub
请在CopyPicture
和Paste
之间插入一行:
myshape.CopyPicture
chtObj.Select
chtObj.Chart.Paste 'it works only for a selected chart!
我需要将名为 'center' 的分组形状以 .jpg 格式导出到共享文件夹。
如果使用键盘按钮 f8,我有代码可以完成这项工作。
如果代码正常运行,它会导出一张空白图片。
Sub Export_JPG()
Dim ws1 As Worksheet: Set ws1 = Worksheets("KPI")
Dim ws2 As Worksheet: Set ws2 = Worksheets("ChartPage")
Dim chtObj As ChartObject
Dim SharepointAddress As String
Dim myshape As shape
ws1.Range("A1").FormulaR1C1 = "=NOW()"
Set myshape = ws1.Shapes("center")
Set chtObj = ws2.ChartObjects.Add(myshape.Left, myshape.Top, myshape.Width, myshape.Height)
myshape.CopyPicture
chtObj.Chart.Paste
SharepointAddress = "C:\Users\me\Desktop.jpg"
Kill SharepointAddress
chtObj.Chart.Export Filename:=SharepointAddress, Filtername:="JPG"
chtObj.Delete
Set chtObj = Nothing
End Sub
请在CopyPicture
和Paste
之间插入一行:
myshape.CopyPicture
chtObj.Select
chtObj.Chart.Paste 'it works only for a selected chart!