将表格保存为图像时,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