将 sheet 导出为 BMP
Export sheet as BMP
我在 Excel 文档中得到以下宏。我在导出时遇到错误。
Error: Object doesnt support this property or method
Sub pic_gen()
Sheets("Email").Range("Print_Area").CopyPicture Appearance:=xlScreen, Format:=xlBitmap
Sheets("foremail").Select
ActiveSheet.Paste
Selection.Export ThisWorkbook.Path & "\sChartName.bmp"
End Sub
.Export
是属于Chart
或ChartObject
class的方法。您收到错误消息,因为您尝试对类型为 Range
的 Selection
对象使用 .Export
方法。您应该先创建一个图表,然后才能将其导出。
这可能有效:
Sub RangeToPicture()
Dim chtObj As ChartObject
Dim rngPrint As Range
Set rngPrint = Sheets("Email").Range("Print_Area")
rngPrint.CopyPicture xlScreen, xlBitmap
Set chtObj = ActiveSheet.ChartObjects.Add(1, 1, rngPrint.Width, rngPrint.Height)
chtObj.Activate
ActiveChart.Paste
ActiveChart.Export ThisWorkbook.Path & "\sChartName.bmp"
chtObj.Delete
End Sub
我在 Excel 文档中得到以下宏。我在导出时遇到错误。
Error: Object doesnt support this property or method
Sub pic_gen()
Sheets("Email").Range("Print_Area").CopyPicture Appearance:=xlScreen, Format:=xlBitmap
Sheets("foremail").Select
ActiveSheet.Paste
Selection.Export ThisWorkbook.Path & "\sChartName.bmp"
End Sub
.Export
是属于Chart
或ChartObject
class的方法。您收到错误消息,因为您尝试对类型为 Range
的 Selection
对象使用 .Export
方法。您应该先创建一个图表,然后才能将其导出。
这可能有效:
Sub RangeToPicture()
Dim chtObj As ChartObject
Dim rngPrint As Range
Set rngPrint = Sheets("Email").Range("Print_Area")
rngPrint.CopyPicture xlScreen, xlBitmap
Set chtObj = ActiveSheet.ChartObjects.Add(1, 1, rngPrint.Width, rngPrint.Height)
chtObj.Activate
ActiveChart.Paste
ActiveChart.Export ThisWorkbook.Path & "\sChartName.bmp"
chtObj.Delete
End Sub