2017-03-06 189 views
-2

我想弄清楚如何使用delphi将图像插入到excel页头中。我已经看到了如何将它变成一个正常的单元格,而不是页眉。任何人都可以帮忙?谢谢。如何使用delphi在excel页头中插入图片?

+0

罗布感谢您的评论,但我怎么能解决一个标题单元格呢?例如,我可以用一个陈述来解决一个正常的单元格,例如:Worksheet.Range ['a1','a1']。选择 但是,如何解决标题内容?我知道的唯一方法是通过PageSetup。例如: WorkSheet.PageSetup.LeftHeader:='some text'; WorkSheet.PageSetup.RightHeader:='some text'; 但在这种情况下,我仅限于文本,并且我想要插入图像... – Nuno

+0

@Rob我认为他指的是页眉,仅在打印输出中可见。 –

+0

是的,没错,我指的是页眉。对不起,我的英语,我不是母语......谢谢汤姆。 – Nuno

回答

1

当使用Excel自动化对象PageSetup时,可以管理Excel工作表页眉和页脚的多个属性。

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”的页码,“& 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; 
+0

谢谢Nuno。我将“LeftHeaderImage”文本中的属性名称更正为“LeftHeaderPicture” –

相关问题