当前位置: 首页 > 知识库问答 >
问题:

ExportAsFixedFormat如果以前在工作表上激活了图表,则不会导出整个工作表

皇甫展
2023-03-14

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

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

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

此位将图形加载到用户窗体中。我必须激活它,否则导出的文件是空的。我想这是因为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个答案

汪兴为
2023-03-14

Excel似乎只会打印(或导出)选定的图表。在导出命令之前选择一个单元格就完成了。

 类似资料:
  • 我创建了一个脚本来生成一些PDF,保存它们以驱动并在需要时发送电子邮件。 该脚本工作正常,除了一个问题:当我隐藏名为“TrafficAgentPDF”的工作表并运行脚本时,它会在驱动器中创建PDF,但不知何故它已损坏。不能被谷歌打开;在浏览器中打开它时,它是空白的。打开工作表,一切正常。 TrafficAgentPDF工作表在另一个工作表上执行vlookup,以显示图像而不是值。图像是小图标,仅使

  • 我有一个谷歌表单,在这个表单中我有多个内部表单,我有一个“概述”,它列出了所有内部表单的各种关键点,这样你可以一眼看到你想要的信息,而不必深入到包含所有详细信息的内部表单,将概述视为主管的工作表,这样他们就可以看到所有关键信息,而无需深入查看工作表。 我有另一张叫做“课程”的表,在那里我们有一个课程列表,以及谁负责这门课程以及与每门课程相关的细节。 我需要的是在概览表中,如果概览栏1和课程栏1上都

  • 我希望表2(标题为“托管交易”)按日期自动排序,表1(标题为“贷款查询”)按姓氏自动排序。两张表都在一张谷歌表中。我已经找到了下面的脚本,我对它进行了轻微的修改,它在第2页上的效果非常好,可以按日期自动排序; 但是,我希望第一张工作表按照第2列中的姓氏自动排序,而不是脚本所指的第7列 值得一提的是,我对脚本做了以下更改,并在下面的脚本中添加了按姓氏排序的脚本,该脚本在第1页的第2列中运行良好; 但

  • GoogleSheets允许将图表移动到自己的工作表中。不过,谷歌脚本似乎无法重命名这些工作表,而不会使电子表格崩溃并强制重新加载。 要明白我的意思,试试这个: 1)创建新的电子表格,并在其中放入一些数据。2)使用数据创建任何类型的图表。3)编辑图表,选择“移动到自己的工作表......”4)创建一个脚本,如下所示代码: 5)运行脚本,电子表格崩溃,消息是:“无法加载文件”6)重新加载电子表格,并

  • setCurrentSheetIsFirst(): self 实例 $config = ['path' => './tests']; $excel = new \Vtiful\Kernel\Excel($config); ​ $excel->fileName('hide.xlsx', 'sheet1') // 初始化文件,同时初始化第一张工作表 sheet1 ->header(['sh

  • 下面的代码来自这篇文章中关于将行值复制到新工作表(如果它存在于另一个工作表中)的答案。 现在,如果不是将重复值复制到第3页,而是要将它们从第1页和第2页中删除(如果在第3页中存在)。使用相同的电子表格,我有3张表格。将在前两张图纸上进行比较的唯一值是第一列“ID编号”。 给定所有3张表中存在的值,即784 | John Stiple | I.T Department,应删除表1和表2中的相同行值,