如果图表先前已被激活,ExportAsFixedFormat不会导出我的整个工作表

时间:2019-04-19 18:50:09

标签: excel vba

使用数据库来跟踪库存并创建使用情况和库存预测。

所需的功能之一是将完整的报告导出为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,则导出的文件仅包括图表,而不是整个工作表。我已经尝试过先激活工作表,但这似乎没有什么作用。

1 个答案:

答案 0 :(得分:0)

如果选择了Excel,似乎只打印(或导出)图表。在导出命令完成操作之前选择一个单元格。