首页 > 解决方案 > 如果之前在其上激活图表,ExportAsFixedFormat 不会导出我的整个工作表

问题描述

在数据库上工作以跟踪库存并创建使用和库存预测。

所需功能之一是将完整报告导出为 PDF。我已经创建了一个包含所有所需图表和信息的工作表,这就是我要导出的工作表。

所需的另一个功能是在用户表单中显示图表。

该位将图形加载到用户表单中。我必须激活它,否则导出的文件是空白的。我认为这是因为 Excel 没有绘制图表,因为它不在可见的工作表中。

ActiveWorkbook.RefreshAll
Sheets("StatisticsPDF").ChartObjects(3).Activate
Set MyChart = Sheets("StatisticsPDF").ChartObjects(3).Chart
MyChart.ChartStyle = 209
Fname = ThisWorkbook.Path & "\temp1.bmp"
MyChart.Export filename:=Fname, FilterName:="bmp"
MyChart.ChartStyle = 201
Me.Image2.Picture = LoadPicture(Fname)
Worksheets("Main").Activate

这是我导出为 PDF 位。如果我重新打开工作簿并立即导出,它会按预期工作。

Set pdf = Worksheets("StatisticsPDF")
pdf.Visible = xlSheetVisible
fileSaveName = ThisWorkbook.Path & "\Reports\Stationary Report - " & Format(Now(), "DD-MM-YYYY hhmmss")
pdf.ExportAsFixedFormat Type:=xlTypePDF, filename:=fileSaveName, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
pdf.Visible = xlSheetVeryHidden

但是,如果我将其中一个图表加载到用户窗体中,然后尝试将工作表导出为 PDF,则导出的文件仅包含图表而不是整个工作表。我尝试过先激活工作表,但似乎没有什么不同。

标签: excelvba

解决方案


看来 Excel 只会打印(或导出)图表,如果它被选中。在导出命令完成之前选择一个单元格。


推荐阅读