自动化对象不支持 Excel 自动化'FitToPagesWide'



我正在尝试将Excel工作表导出为PDF,我希望工作表适合页面宽度。 在做一些研究时,似乎我应该使用FitToPagesWide,但是,我找不到Delphi的例子。这是我的代码:

procedure TForm1.ExcelToPDF(const AFilename: string);
Const
  XlTypePDF = 0;
  xlQualityStandard = 0;
  IncludeDocProperties = true;
  IgnorePrintAreas = false;
  LandscapeMode = 2;
var
  P: OleVariant;
begin
  P:= CreateOleObject('Excel.Application');
  try
    P.WorkBooks.Open(AFilename, 3);
    p.ActiveSheet.Pagesetup.Orientation := LandscapeMode;   orientation
    p.ActiveSheet.PageSetup.FitToPagesWide := 1;   // <-- not supported by automation object
    p.ActiveWorkbook.exportAsFixedFormat(xlTypePDF,
                                         AFilename,
                                         xlQualityStandard,
                                         IncludeDocProperties,
                                         IgnorePrintAreas );
  finally
    p.Quit;
  end;
似乎

在设置FitToPagesWide之前设置Zoom和FitToPagesTall属性是有效的。

p.ActiveSheet.PageSetup.Zoom := false;
P.Activesheet.Pagesetup.FitToPagesTall := 1;
p.ActiveSheet.PageSetup.FitToPagesWide := 1;

最新更新