将表格保存为图像时,VBA运行时错误438

我正在尝试保存excel表格的图像。 我收到以下错误: 运行时错误'438':对象不支持此属性或方法

这很奇怪,因为当我使用一个类似的代码来保存图表的图像,它的工作原理完全正常,但我写一个代码来保存表的图像时,出现错误。

这是带来上述错误的代码:

Sub Table6() Dim objTable As TableObject Dim myTable As Table Set objTable = Sheets("Sheet6").TableObjects("Table6") Set myTable = objTable.Table myFileName = "name.png" On Error Resume Next Kill ThisWorkbook.Path & "\" & myFileName On Error GoTo 0 myChart.Export Filename:=ThisWorkbook.Path & "\" & myFileName, Filtername:="PNG" End Sub 

你知道什么可能导致这个问题?

感谢你的帮助!

谢谢! 娜娜

表的types名称是ListObject ,而不是“TableObject”。 您可以将表格的图像粘贴到临时图表对象中并将其导出。

将任何范围导出为图像

以下是将任何范围导出为图像的一般例程:

 Sub ExportRangeAsImage(rng As Range, destPath As String) Dim ch As ChartObject Set ch = rng.Parent.ChartObjects.Add(0, 0, rng.Width, rng.Height) rng.CopyPicture ch.Chart.Paste ch.Chart.Export destPath ch.Delete End Sub 

testing和使用

下面是一个例子,导出表格的图像:

 Sub ExportTable6() ExportRangeAsImage Worksheets("Sheet6").ListObjects("Table6").Range, _ ThisWorkbook.Path & "\Table6.png" End Sub