FROM: http://hi.baidu.com/kdlipm/blog/item/0897dd16ffc03e59f3de32ab.html

PageSetup 函式就會記錄時, 設定的記錄三個部分: 
第一個部分會是 -With End With 區段設定的 PrintTitleRows 和的 PrintTitleColumns 。 
第二個部分,設定 PrintArea 。 
第三個部分是 With-End With 區段,設定所有其他的設定。 
第二個部分,設定 PrintArea 。 
第三個部分是 With-End With 區段,設定所有其他的設定。 
第三個部分是 With-End With 區段,設定所有其他的設定。

Sub Macro1()
       With ActiveSheet.PageSetup            ' This is the first part.
           .PrintTitleRows = ""
           .PrintTitleColumns = ""
       End With
       ActiveSheet.PageSetup.PrintArea = "" ' This is the second part.
       With ActiveSheet.PageSetup            ' This is the third part.
           .LeftHeader = ""
           .CenterHeader = ""
           .RightHeader = ""
           .LeftFooter = ""
           .CenterFooter = ""
           .RightFooter = ""
           .LeftMargin = Application.InchesToPoints(0.75)
           .RightMargin = Application.InchesToPoints(0.75)
           .TopMargin = Application.InchesToPoints(1)
           .BottomMargin = Application.InchesToPoints(1)
           .HeaderMargin = Application.InchesToPoints(0.5)
           .FooterMargin = Application.InchesToPoints(0.5)
           .PrintHeadings = False
           .PrintGridlines = False
           .PrintComments = xlPrintNoComments
           .CenterHorizontally = False
           .CenterVertically = False
           .Orientation = xlPortrait
           .Draft = False
           .PaperSize = xlPaperLetter
           .FirstPageNumber = xlAutomatic
           .Order = xlDownThenOver
           .BlackAndWhite = False
           .Zoom = 100
       End With
   End Sub

如果您不實際上想要變更特定設定值例如 .Draft ,您可以從副程式中移除這些行。 例如,如果您只要變更的 PrintTitleRows 、 在 PrintArea 和的 方向 ,您可以使用下 列: 
Sub Macro1()
With ActiveSheet.PageSetup 
    .PrintTitleRows = "$1:$3"
.PrintArea = "$A$4:$C$100"
.Orientation = xlLandscape
End With 
End Sub

範例雙 PageSetup 執行時,防止螢幕重繪閃動
下列副程式會示範在其中您可能會防止螢幕閃爍時正在執行 PageSetup 函式的一種方法。
   Sub PreventScreenFlicker()

' This line turns off screen updating.
       Application.ScreenUpdating = False
       ' Apply each of the following properties to the active sheet's Page
       ' Setup.
       With ActiveSheet.PageSetup
           .PrintTitleRows = "$1:$3"          ' Set print title rows.
           .PrintTitleColumns = "$A:$C"       ' Set print title columns.
           .LeftHeader = ""                   ' Set the left header.
           ' More commands could appear before the End With. They are not
           ' shown here in order to keep the example short.
       End With                              ' End of With section.
       ' Re-enable screen updating. This line is optional; you may not need
       ' or want to re-enable screen updating.
       Application.ScreenUpdating = True

End Sub

(一) 使用动态创建的方法

首先创建 Excel 对象,使用ComObj: 
var ExcelApp: Variant; 
ExcelApp := CreateOleObject( 'Excel.Application' );

1) 显示当前窗口: 
ExcelApp.Visible := True;

2) 更改 Excel 标题栏: 
ExcelApp.Caption := '应用程序调用 Microsoft Excel';

3) 添加新工作簿: 
ExcelApp.WorkBooks.Add;

4) 打开已存在的工作簿: 
ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls' );

5) 设置第2个工作表为活动工作表: 
ExcelApp.WorkSheets[2].Activate; 
或 
ExcelApp.WorksSheets[ 'Sheet2' ].Activate;

6) 给单元格赋值: 
ExcelApp.Cells[1,4].Value := '第一行第四列';

7) 设置指定列的宽度(单位:字符个数),以第一列为例: 
ExcelApp.ActiveSheet.Columns[1].ColumnsWidth := 5;

8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例: 
ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米

9) 在第8行之前插入分页符: 
ExcelApp.WorkSheets[1].Rows[8].PageBreak := 1;

10) 在第8列之前删除分页符: 
ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;

11) 指定边框线宽度: 
ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3; 
1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )

12) 清除第一行第四列单元格公式: 
ExcelApp.ActiveSheet.Cells[1,4].ClearContents;

13) 设置第一行字体属性: 
ExcelApp.ActiveSheet.Rows[1].Font.Name := '隶书'; 
ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue; 
ExcelApp.ActiveSheet.Rows[1].Font.Bold := True; 
ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;

14) 进行页面设置:

a.页眉: 
ExcelApp.ActiveSheet.PageSetup.CenterHeader := '报表演示'; 
b.页脚: 
ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P页'; 
c.页眉到顶端边距2cm: 
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035; 
d.页脚到底端边距3cm: 
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035; 
e.顶边距2cm: 
ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035; 
f.底边距2cm: 
ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035; 
g.左边距2cm: 
ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035; 
h.右边距2cm: 
ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035; 
i.页面水平居中: 
ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035; 
j.页面垂直居中: 
ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035; 
k.打印单元格网线: 
ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;

15) 拷贝操作:

a.拷贝整个工作表: 
ExcelApp.ActiveSheet.Used.Range.Copy; 
b.拷贝指定区域: 
ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy; 
c.从A1位置开始粘贴: 
ExcelApp.ActiveSheet.Range.[ 'A1' ].PasteSpecial; 
d.从文件尾部开始粘贴: 
ExcelApp.ActiveSheet.Range.PasteSpecial

16) 插入一行或一列: 
a. ExcelApp.ActiveSheet.Rows[2].Insert; 
b. ExcelApp.ActiveSheet.Columns[1].Insert;

17) 删除一行或一列: 
a. ExcelApp.ActiveSheet.Rows[2].Delete; 
b. ExcelApp.ActiveSheet.Columns[1].Delete;

18) 打印预览工作表: 
ExcelApp.ActiveSheet.PrintPreview;

19) 打印输出工作表: 
ExcelApp.ActiveSheet.PrintOut;

20) 工作表保存: 
if not ExcelApp.ActiveWorkBook.Saved then 
ExcelApp.ActiveSheet.PrintPreview;

21) 工作表另存为: 
ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' );

22) 放弃存盘: 
ExcelApp.ActiveWorkBook.Saved := True;

23) 关闭工作簿: 
ExcelApp.WorkBooks.Close;

24) 退出 Excel: 
ExcelApp.Quit;

(二) 使用Delphi 控件方法 
在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。

1) 打开Excel 
ExcelApplication1.Connect;

2) 显示当前窗口: 
ExcelApplication1.Visible[0]:=True;

3) 更改 Excel 标题栏: 
ExcelApplication1.Caption := '应用程序调用 Microsoft Excel';

4) 添加新工作簿: 
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));

5) 添加新工作表: 
var Temp_Worksheet: _WorkSheet; 
begin 
Temp_Worksheet:=ExcelWorkbook1. 
WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet; 
ExcelWorkSheet1.ConnectTo(Temp_WorkSheet); 
End;

6) 打开已存在的工作簿: 
ExcelApplication1.Workbooks.Open (c:\a.xls 
EmptyParam,EmptyParam,EmptyParam,EmptyParam, 
EmptyParam,EmptyParam,EmptyParam,EmptyParam, 
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)

7) 设置第2个工作表为活动工作表: 
ExcelApplication1.WorkSheets[2].Activate; 或 
ExcelApplication1.WorksSheets[ 'Sheet2' ].Activate;

8) 给单元格赋值: 
ExcelApplication1.Cells[1,4].Value := '第一行第四列';

9) 设置指定列的宽度(单位:字符个数),以第一列为例: 
ExcelApplication1.ActiveSheet.Columns[1].ColumnsWidth := 5;

10) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例: 
ExcelApplication1.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米

11) 在第8行之前插入分页符: 
ExcelApplication1.WorkSheets[1].Rows[8].PageBreak := 1;

12) 在第8列之前删除分页符: 
ExcelApplication1.ActiveSheet.Columns[4].PageBreak := 0;

13) 指定边框线宽度: 
ExcelApplication1.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3; 
1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )

14) 清除第一行第四列单元格公式: 
ExcelApplication1.ActiveSheet.Cells[1,4].ClearContents;

15) 设置第一行字体属性: 
ExcelApplication1.ActiveSheet.Rows[1].Font.Name := '隶书'; 
ExcelApplication1.ActiveSheet.Rows[1].Font.Color := clBlue; 
ExcelApplication1.ActiveSheet.Rows[1].Font.Bold := True; 
ExcelApplication1.ActiveSheet.Rows[1].Font.UnderLine := True;

16) 进行页面设置: 
a.页眉: 
ExcelApplication1.ActiveSheet.PageSetup.CenterHeader := '报表演示'; 
b.页脚: 
ExcelApplication1.ActiveSheet.PageSetup.CenterFooter := '第&P页'; 
c.页眉到顶端边距2cm: 
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 2/0.035; 
d.页脚到底端边距3cm: 
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 3/0.035; 
e.顶边距2cm: 
ExcelApplication1.ActiveSheet.PageSetup.TopMargin := 2/0.035; 
f.底边距2cm: 
ExcelApplication1.ActiveSheet.PageSetup.BottomMargin := 2/0.035; 
g.左边距2cm: 
ExcelApplication1.ActiveSheet.PageSetup.LeftMargin := 2/0.035; 
h.右边距2cm: 
ExcelApplication1.ActiveSheet.PageSetup.RightMargin := 2/0.035; 
i.页面水平居中: 
ExcelApplication1.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035; 
j.页面垂直居中: 
ExcelApplication1.ActiveSheet.PageSetup.CenterVertically := 2/0.035; 
k.打印单元格网线: 
ExcelApplication1.ActiveSheet.PageSetup.PrintGridLines := True;

17) 拷贝操作:

a.拷贝整个工作表: 
ExcelApplication1.ActiveSheet.Used.Range.Copy;

b.拷贝指定区域: 
ExcelApplication1.ActiveSheet.Range[ 'A1:E2' ].Copy;

c.从A1位置开始粘贴: 
ExcelApplication1.ActiveSheet.Range.[ 'A1' ].PasteSpecial;

d.从文件尾部开始粘贴: 
ExcelApplication1.ActiveSheet.Range.PasteSpecial;

18) 插入一行或一列: 
a. ExcelApplication1.ActiveSheet.Rows[2].Insert; 
b. ExcelApplication1.ActiveSheet.Columns[1].Insert;

19) 删除一行或一列: 
a. ExcelApplication1.ActiveSheet.Rows[2].Delete; 
b. ExcelApplication1.ActiveSheet.Columns[1].Delete;

20) 打印预览工作表: 
ExcelApplication1.ActiveSheet.PrintPreview;

21) 打印输出工作表: 
ExcelApplication1.ActiveSheet.PrintOut;

22) 工作表保存: 
if not ExcelApplication1.ActiveWorkBook.Saved then 
ExcelApplication1.ActiveSheet.PrintPreview;

23) 工作表另存为: 
ExcelApplication1.SaveAs( 'C:\Excel\Demo1.xls' );

24) 放弃存盘: 
ExcelApplication1.ActiveWorkBook.Saved := True;

25) 关闭工作簿: 
ExcelApplication1.WorkBooks.Close;

26) 退出 Excel: 
ExcelApplication1.Quit; 
ExcelApplication1.Disconnect;

(三) 使用Delphi 控制Excle二维图 
在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet 
var asheet1,achart, range:variant;

1)选择当第一个工作薄第一个工作表 
asheet1:=ExcelApplication1.Workbooks[1].Worksheets[1];

2)增加一个二维图 
achart:=asheet1.chartobjects.add(100,100,200,200);

3)选择二维图的形态 
achart.chart.charttype:=4;

4)给二维图赋值 
series:=achart.chart.seriescollection; 
range:=sheet1!r2c3:r3c9; 
series.add(range,true);

5)加上二维图的标题 
achart.Chart.HasTitle:=True; 
achart.Chart.ChartTitle.Characters.Text:=’ Excle二维图’

6)改变二维图的标题字体大小 
achart.Chart.ChartTitle.Font.size:=6;

7)给二维图加下标说明 
achart.Chart.Axes(xlCategory, xlPrimary).HasTitle := True; 
achart.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text := '下标说明';

8)给二维图加左标说明 
achart.Chart.Axes(xlValue, xlPrimary).HasTitle := True; 
achart.Chart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text := '左标说明';

9)给二维图加右标说明 
achart.Chart.Axes(xlValue, xlSecondary).HasTitle := True; 
achart.Chart.Axes(xlValue, xlSecondary).AxisTitle.Characters.Text := '右标说明';

10)改变二维图的显示区大小 
achart.Chart.PlotArea.Left := 5; 
achart.Chart.PlotArea.Width := 223; 
achart.Chart.PlotArea.Height := 108;

11)给二维图坐标轴加上说明 
achart.chart.seriescollection[1].NAME:='坐标

excel vba 打印设置(转)的更多相关文章

  1. VBA 打印设置相关属性及方法

    打印设置说明,以下均为默认值. With ActiveSheet.PageSetup .PrintTitleRows = "" '工作表打印标题:顶端标题行(R) .PrintTi ...

  2. excel VBA 密码设置问题

    Excel中VBA设置密码的步骤如下: 1.右键点击任何工作表,选择VBAProject属性: 2.在新对话框总,选择“保护”选项卡: 3.勾选查看时锁定,输入密码即可.  

  3. vba,设置,excel,wps ,页面设置

    全面认识页面设置之 PageSetup 对象我们在写 VBA 代码时,特别是做小型程序开发时,经常会用 VBA 来设置“页面设置”中的选项,还可用要用 VBA 来实现一些特殊的效果,这就需要使用 Pa ...

  4. NPOI导出EXCEL 打印设置分页及打印标题

    在用NPOI导出EXCEL的时候设置分页,在网上有查到用sheet1.SetRowBreak(i)方法,但一直都没有起到作用.经过研究是要设置  sheet1.FitToPage = false; 而 ...

  5. [转]NPOI导出EXCEL 打印设置分页及打印标题

    本文转自:http://www.cnblogs.com/Gyoung/p/4483475.html 在用NPOI导出EXCEL的时候设置分页,在网上有查到用sheet1.SetRowBreak(i)方 ...

  6. C# 导出 Excel 和相关打印设置

    源地址:http://blog.csdn.net/wanmingtom/article/details/6125599 Excel.Application myExcel = new Excel.Ap ...

  7. C#导出Excel和相关打印设置

    Excel.Application myExcel = new Excel.Application();Excel.Workbook workbookData = myExcel.Applicatio ...

  8. Excel VBA(宏):添加宏

    写在前面: .编写宏,打开VBA,双击ThisWorkbook对当前工作薄进行编写宏:双击Sheet1,对整个sheet编写宏: 或者创建模块,在模块里,编写.调试代码. 打开VBA的方法见第一讲,结 ...

  9. excel vba 数据分析

    (Visual Basic Application) VBA(Visual Basic for Application)是Microsoft Office系列软件的内置编程语言,其语法结构与Visua ...

随机推荐

  1. P2P编程(十)

    此为网络编程的一个系列,后续会把内容补上....

  2. 【Pure】

    PureA set of small, responsive CSS modules that you can use in every web project.http://purecss.io/

  3. 【转】android开发工具Eclipse,androidStudio,adt网盘下载--不错

    原文网址:http://tools.android-studio.org/index.php/85-tools/109-android-tools-download

  4. Javascript 对输入框中的内容进行 “全选/反选”

    <</span>script> document.write("<</span>ul>"); for(var i=0;i<&l ...

  5. [Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.5.6

    Let $A$ be a nilpotent operator. Show how to obtain, from aJordan basis for $A$, aJordan basis of $\ ...

  6. Android学习笔记:TabHost 和 FragmentTabHost

    TabHost 命名空间: android.widget.TabHost 初始化函数(必须在addTab之前调用): setup(); 包含两个子元素: 1.Tab标签容器TabWidget(@and ...

  7. 开源了一个iOS输入控件【原】

    1.Github 地址:https://github.com/linyc/InputBarFollowKeyboard 2.说明文档:https://github.com/linyc/InputBar ...

  8. JDK1.5新特性(六)……Generics

    概述 Generics - This long-awaited enhancement to the type system allows a type or method to operate on ...

  9. 【创建本地仓库】【for Centos】CentOS下创建本地repository

    [日期]2014年4月24日 [平台]Centos 6.5 [工具]httpd yum-utils createrepo [步骤] 1)安装httpd. yum install httpd 2)安装y ...

  10. hdu4123-Bob’s Race(树形dp+rmq+尺取)

    题意:Bob想要开一个运动会,有n个房子和n-1条路(一棵树),Bob希望每个人都从不同的房子开始跑,要求跑的尽可能远,而且每条路只能走最多一次.Bob希望所有人跑的距离的极差不大于q,如果起点的编号 ...