Excel 打印区域和纸张自定义设置
哪位大神帮忙指点一下,Excel 设置打印区域和纸质大小设置,谢谢!請 善用搜索
http://www.autoit3.cn/search.php?mod=forum&searchid=33&orderby=lastpost&ascdesc=desc&searchsubmit=yes&kw=EXCEL+%B4%F2%D3%A1 收到,谢谢大大 大大,请教一下,如何自定义设置纸张,例如想设置一个尺寸为140mm*297mm的纸张 在论坛范例中,只看到如下设置
With $oExcel.ActiveSheet.PageSetup
.Orientation = 1 ;设置打印方向
.PaperSize = 8 ;设置打印纸张
EndWith
;;;;PS:
#cs
xlPaperLetter 1Letter (8-1/2 in. x 11 in.)
xlPaperA3 8A3 (297 mm x 420 mm)
xlPaperA4 9A4 (210 mm x 297 mm)
xlPaperA4Small 10A4 Small (210 mm x 297 mm)
xlPaperA5 11A5 (148 mm x 210 mm)
xlPaperB4 12B4 (250 mm x 354 mm)
xlPaperB5 13B5 (182 mm x 257 mm)
xlPaperFanfoldUS 39U.S. Standard Fanfold (14-7/8 in. x 11 in.)
xlLandscape 2横向
xlPortrait 1纵向
#ce rally 发表于 2018-8-23 22:54
在论坛范例中,只看到如下设置
With $oExcel.ActiveSheet.PageSetup
.Orientation = 1 ...
你 錄製 巨集了嗎 (宏)
你可以 錄製巨集 然後在 EXCE 設定好紙張然後 你就會知道VBA 怎麼設定 谢谢大大,我试试看 Func put($gl, $lie, $kuan, $len1, $len2) ;数组,列宽,表宽"m" & $sj,筛选1,自动换行2
ClipPut('') ;;;;清空剪贴板:预备动作
_ArrayToClip2D($gl, 1, 1) ;;;把数组写入剪贴板(开始行0,开始列1):仅支持二维数组。原数组仅支持一维数组
$text = ClipGet() ;;;;获取剪贴板文本数据
;$xls.Sheets("Sheet1").Name= $name
$xls.activesheet.range("A1").Select ;;;选择A1单元格:下句将从A1单元格开始复制
$xls.activesheet.range("A1").PasteSpecial ;;;复制剪贴板文本数据
If $len1 = 1 Then Send("^+{l}")
;($lie)
With $xls.activesheet
For $i = 1 To $lie
.Columns($i).ColumnWidth = $lie[$i]
Next
;.Columns(5).ColumnWidth =0
;.Columns(12).ColumnWidth =0
.Columns(1).NumberFormatLocal = "0"
.Columns(8).NumberFormatLocal = "0"
.Columns(7).font.size = 9 ;设置字体大小
.Columns(7).font.name = "楷体" ;设置字体名称
.Columns(14).font.size = 9 ;设置字体大小
.Columns(14).font.name = "楷体" ;设置字体名称
; .rows($sj).font.size = 9;最后行
.Columns(6).font.size = 9 ;设置字体大小
.Columns(6).font.size = 9 ;设置字体大小
.Columns(13).font.size = 9 ;设置字体大小
.Columns(13).font.size = 9 ;设置字体大小
EndWith
#cs
With $xls.ActiveSheet.PageSetup ;设置打印页面设置的属性
; .cells(1,5).NumberFormatLocal ="0"
.LeftMargin = $xls.InchesToPoints(0.3) ;以磅为单位返回或设置左边距的大小置左边距
.RightMargin = $xls.InchesToPoints(0) ;以磅为单位返回或设置右边距的大小置左边距
.TopMargin = $xls.InchesToPoints(0) ;以磅为单位返回或设置上边距的大小置左边距
.BottomMargin = $xls.InchesToPoints(0) ;以磅为单位返回或设置下边距的大小置左边距
.HeaderMargin = $xls.InchesToPoints(0) ;以磅为单位返回或设置页面顶端到页眉的距离
.FooterMargin = $xls.InchesToPoints(0) ;以磅为单位返回或设置页面底端到页脚的距离
.PrintHeadings = False ;如果打印本页时同时打印行标题和列标题,则该值为 True。仅应用于工作表。
;.PrintGridlines = False ;如果在页面上打印单元格网格线,则该值为 True。仅应用于工作表。
; .PrintQuality = 300 ;返回或设置打印质量。
.CenterHorizontally = True ;如果在页面的水平居中位置打印指定工作表,则该属性值为 True。
.CenterVertically = True ;如果在页面的垂直居中位置打印指定工作表,则该属性值为 True。
;.Draft = False ;如果打印工作表时不打印其中的图形,则该属性值为 True。
.BlackAndWhite = True ;如果指定文档中的元素以黑白方式打印,则该属性值为 True。
EndWith
#ce
Local $az = "A1:" & $kuan
;$xls.range("a3:a4").mergecells=true
;$xls.range($az).mergecells=true
;$xls.range("a2:ai2").mergecells=true合并单元格
With $xls.ActiveSheet.Range($az)
.Borders($xlEdgeTop).LineStyle = $xlContinuous ;上边线
.Borders($xlEdgeTop).ColorIndex = 0 ;上边线颜色
.Borders($xlEdgeBottom).LineStyle = $xlContinuous ;下边线
.Borders($xlEdgeBottom).ColorIndex = 0 ;下边线颜色
.Borders($xlEdgeLeft).LineStyle = $xlContinuous ;左边线
.Borders($xlEdgeLeft).ColorIndex = 0 ;左边线颜色
.Borders($xlEdgeRight).LineStyle = $xlContinuous ;右边线
.Borders($xlEdgeRight).ColorIndex = 0 ;右边线颜色
.Borders($xlInsideHorizontal).LineStyle = $xlContinuous ;内横线
.Borders($xlInsideHorizontal).ColorIndex = 0 ;内横线颜色
.Borders($xlInsideVertical).LineStyle = $xlContinuous ;内竖线
.Borders($xlInsideVertical).ColorIndex = 0 ;内竖线颜色
If $len2 = 2 Then .Range($az).WrapText = True
EndWith
EndFunc ;==>put
我在用的,参考下
页:
[1]