如何使用Delphi在Excel页面标头中插入图像



我试图弄清楚如何使用Delphi将图像插入Excel页面标题。我已经看到如何将其用于普通单元,而不是进入页面标题。有人可以帮忙吗?谢谢。

使用Excel Automation对象PageSetup时,可以管理Excel Sheet Page页板和页脚的多个属性。

https://msdn.microsoft.com/en-us/library/office/ff196103.aspx

在此特定问题中感兴趣的属性可能是以下对之一:

PageSetup.LeftHeader PageSetup.LeftHeaderPicture

PageSetup.CenterHeader PageSetup.CenterHeaderPicture

PageSetup.RightHeader PageSetup.RightHeaderPicture

例如,您可以使用LeftHeader属性字符串显示简单的文本或特殊ITENS,例如图片,在这种情况下,您必须将代码'g'分配给此属性才能显示图像。您可以使用LeftHeaderPicture.FileName属性指定图像文件。

顺便说一句,您还可以使用其他特殊的格式代码,例如当前日期'& d''& p'for page number,'& n'对于页面总数等等。

https://msdn.microsoft.com/en-us/library/bb225426(v = Office.12).aspx

当您需要显示页面号,总页面等或要在所有文档页面中显示徽标或文档标题时,管理Excel表格和页脚很有用。处理普通的板单元不会带来相同的结果。

简单的delphi示例:

var Excel: Variant;
    Sheet: OleVariant;
    filename: String;
...
Excel:=CreateOleObject('Excel.application');
Excel.Visible:=False;
Excel.WorkBooks.Add(-4167);
Sheet:=Excel.ActiveSheet;
Sheet.PageSetup.RightHeader:='my document title';
Sheet.PageSetup.LeftFooter:='my footer message';
Sheet.PageSetup.CenterFooter:='&D';
Sheet.PageSetup.RightFooter:='&P/&N';
filename:=ExtractFilePath(Application.ExeName)+'logo.bmp';
if FileExists(filename) then begin
  Sheet.PageSetup.LeftHeader:='&G';
  Sheet.PageSetup.LeftHeaderPicture.FileName:=filename;
end;
Sheet.Cells[1,1].Value:='example of page header and page footer handling of an excel sheet...';
Excel.Visible:=True;

最新更新