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

时间:2017-02-04 21:38:07

标签: excel vba

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

这很奇怪,因为当我使用类似的代码来保存图表的图像时,它工作得很好,但是在编写代码来保存表格图像的情况下我收到错误。

以下是带来上述错误的代码:

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

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

感谢您的帮助!

谢谢! 奈

1 个答案:

答案 0 :(得分:2)

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

将任何范围导出为图像

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

ListObject

测试和使用

以下是导出表格图像的示例:

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