找回密码  加入

AUTOIT CN

搜索
查看: 344|回复: 7

[AU3基础] Excel 打印区域和纸张自定义设置

[复制链接]
发表于 2018-8-23 09:45:15 | 显示全部楼层 |阅读模式
哪位大神帮忙指点一下,Excel 设置打印区域和纸质大小设置,谢谢!
发表于 2018-8-23 10:08:18 | 显示全部楼层
 楼主| 发表于 2018-8-23 22:41:23 | 显示全部楼层
收到,谢谢大大
 楼主| 发表于 2018-8-23 22:52:39 | 显示全部楼层
大大,请教一下,如何自定义设置纸张,例如想设置一个尺寸为140mm*297mm的纸张
 楼主| 发表于 2018-8-23 22:54:15 | 显示全部楼层
在论坛范例中,只看到如下设置
With $oExcel.ActiveSheet.PageSetup
        .Orientation = 1                     ;设置打印方向
        .PaperSize = 8                       ;设置打印纸张
EndWith
;;;;PS:
        #cs
                xlPaperLetter         1  Letter (8-1/2 in. x 11 in.)
                xlPaperA3             8  A3 (297 mm x 420 mm)
                xlPaperA4             9  A4 (210 mm x 297 mm)
                xlPaperA4Small       10  A4 Small (210 mm x 297 mm)
                xlPaperA5            11  A5 (148 mm x 210 mm)
                xlPaperB4            12  B4 (250 mm x 354 mm)
                xlPaperB5            13  B5 (182 mm x 257 mm)
                xlPaperFanfoldUS     39  U.S. Standard Fanfold (14-7/8 in. x 11 in.)

                xlLandscape           2  横向
                xlPortrait            1  纵向
        #ce
发表于 2018-8-24 01:57:35 | 显示全部楼层
rally 发表于 2018-8-23 22:54
在论坛范例中,只看到如下设置
With $oExcel.ActiveSheet.PageSetup
        .Orientation = 1           ...

你 錄製 巨集了嗎 (宏)

你可以 錄製巨集 然後在 EXCE 設定好紙張  然後 你就會知道VBA 怎麼設定
 楼主| 发表于 2018-9-21 09:33:56 | 显示全部楼层
谢谢大大,我试试看
发表于 2018-9-21 11:07:32 | 显示全部楼层
  1. Func put($gl, $lie, $kuan, $len1, $len2) ;数组,列宽,表宽"m" & $sj,筛选1,自动换行2

  2.         ClipPut('') ;;;;清空剪贴板:预备动作
  3.         _ArrayToClip2D($gl, 1, 1) ;;;把数组写入剪贴板(开始行0,开始列1):仅支持二维数组。原数组仅支持一维数组
  4.         $text = ClipGet() ;;;;获取剪贴板文本数据
  5.         ;$xls.Sheets("Sheet1").Name= $name
  6.         $xls.activesheet.range("A1").Select ;;;选择A1单元格:下句将从A1单元格开始复制
  7.         $xls.activesheet.range("A1").PasteSpecial ;;;复制剪贴板文本数据
  8.         If $len1 = 1 Then Send("^+{l}")

  9.         ;($lie)
  10.         With $xls.activesheet
  11.                 For $i = 1 To $lie[0]
  12.                         .Columns($i).ColumnWidth = $lie[$i]
  13.                 Next
  14.                 ;.Columns(5).ColumnWidth =0
  15.                 ;.Columns(12).ColumnWidth =0
  16.                 .Columns(1).NumberFormatLocal = "0"
  17.                 .Columns(8).NumberFormatLocal = "0"
  18.                 .Columns(7).font.size = 9 ;设置字体大小
  19.                 .Columns(7).font.name = "楷体" ;设置字体名称
  20.                 .Columns(14).font.size = 9 ;设置字体大小
  21.                 .Columns(14).font.name = "楷体" ;设置字体名称
  22.                 ;                .rows($sj).font.size = 9;最后行
  23.                 .Columns(6).font.size = 9 ;设置字体大小
  24.                 .Columns(6).font.size = 9 ;设置字体大小
  25.                 .Columns(13).font.size = 9 ;设置字体大小
  26.                 .Columns(13).font.size = 9 ;设置字体大小

  27.         EndWith
  28.         #cs
  29.                 With $xls.ActiveSheet.PageSetup ;设置打印页面设置的属性
  30.                 ;    .cells(1,5).NumberFormatLocal ="0"
  31.                 .LeftMargin = $xls.InchesToPoints(0.3) ;以磅为单位返回或设置左边距的大小置左边距
  32.                 .RightMargin = $xls.InchesToPoints(0) ;以磅为单位返回或设置右边距的大小置左边距
  33.                 .TopMargin = $xls.InchesToPoints(0) ;以磅为单位返回或设置上边距的大小置左边距
  34.                 .BottomMargin = $xls.InchesToPoints(0) ;以磅为单位返回或设置下边距的大小置左边距
  35.                 .HeaderMargin = $xls.InchesToPoints(0) ;以磅为单位返回或设置页面顶端到页眉的距离
  36.                 .FooterMargin = $xls.InchesToPoints(0) ;以磅为单位返回或设置页面底端到页脚的距离
  37.                 .PrintHeadings = False ;如果打印本页时同时打印行标题和列标题,则该值为 True。仅应用于工作表。
  38.                 ;.PrintGridlines = False     ;如果在页面上打印单元格网格线,则该值为 True。仅应用于工作表。
  39.                 ;        .PrintQuality = 300         ;返回或设置打印质量。
  40.                 .CenterHorizontally = True ;如果在页面的水平居中位置打印指定工作表,则该属性值为 True。
  41.                 .CenterVertically = True ;如果在页面的垂直居中位置打印指定工作表,则该属性值为 True。
  42.                 ;.Draft = False              ;如果打印工作表时不打印其中的图形,则该属性值为 True。
  43.                 .BlackAndWhite = True ;如果指定文档中的元素以黑白方式打印,则该属性值为 True。
  44.                 EndWith
  45.         #ce
  46.         Local $az = "A1:" & $kuan
  47.         ;$xls.range("a3:a4").mergecells=true
  48.         ;$xls.range($az).mergecells=true
  49.         ;$xls.range("a2:ai2").mergecells=true合并单元格
  50.         With $xls.ActiveSheet.Range($az)
  51.                 .Borders($xlEdgeTop).LineStyle = $xlContinuous ;上边线
  52.                 .Borders($xlEdgeTop).ColorIndex = 0 ;上边线颜色
  53.                 .Borders($xlEdgeBottom).LineStyle = $xlContinuous ;下边线
  54.                 .Borders($xlEdgeBottom).ColorIndex = 0 ;下边线颜色
  55.                 .Borders($xlEdgeLeft).LineStyle = $xlContinuous ;左边线
  56.                 .Borders($xlEdgeLeft).ColorIndex = 0 ;左边线颜色
  57.                 .Borders($xlEdgeRight).LineStyle = $xlContinuous ;右边线
  58.                 .Borders($xlEdgeRight).ColorIndex = 0 ;右边线颜色
  59.                 .Borders($xlInsideHorizontal).LineStyle = $xlContinuous ;内横线
  60.                 .Borders($xlInsideHorizontal).ColorIndex = 0 ;内横线颜色
  61.                 .Borders($xlInsideVertical).LineStyle = $xlContinuous ;内竖线
  62.                 .Borders($xlInsideVertical).ColorIndex = 0 ;内竖线颜色
  63.                 If $len2 = 2 Then .Range($az).WrapText = True
  64.         EndWith
  65. EndFunc   ;==>put
复制代码

我在用的,参考下
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|小黑屋|手机版|AUTOIT CN ( 鲁ICP备15028933号-3 )谷歌 百度

GMT+8, 2018-12-17 02:44 , Processed in 0.087469 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表