vbs如何设置excel横向打印、纸张类型

vbs如何设置excel横向打印、纸张类型,第1张

vbs如何设置excel横向打印、纸张类型的解决方法如下 :

1、将常量换成相应数值,如下:

Dim woexcel

Set woexcel = CreateObject("Excel.Application")

woexcel.DisplayAlerts = False

woexcel.Visible = True

woexcel.Workbooks.Open ("c:\activex.xlsx")

'将工作表第一张表格设置为活动

woexcel.Worksheets(1).Activate

'设置纸张类型

woexcel.ActiveSheet.PageSetup.PaperSize = 9

'打印方向设置为横向:

woexcel.ActiveSheet.PageSetup.Orientation = 2

2、相关参数的说明:

'xlLandscape 2 横向模式。

'xlPortrait 1 纵向模式。

'xlPaper11x17 17 11 英寸 x 17 英寸

'xlPaperA3 8 A3(297 毫米 x 420 毫米)

'xlPaperA4 9 A4(210 毫米 x 297 毫米)

'xlPaperA4Small 10 A4(小)(210 毫米 x 297 毫米)

'xlPaperA5 11 A5(148 毫米 x 210 毫米)

'xlPaperB4 12 B4(250 毫米 x 354 毫米)

'xlPaperB5 13 A5(148 毫米 x 210 毫米)

3、vba中支持系统常量,但是vbs中没有这些常量,应该换成相应数值,数值可以在vba帮助中查找。

Sub 打印()

'

' 打印

'

'

Application.PrintCommunication = False

With ActiveSheet.PageSetup

.PrintTitleRows = ""

.PrintTitleColumns = ""

End With

Application.PrintCommunication = True

ActiveSheet.PageSetup.PrintArea = ""

Application.PrintCommunication = False

With ActiveSheet.PageSetup

.LeftHeader = ""

.CenterHeader = ""

.RightHeader = ""

.LeftFooter = ""

.CenterFooter = ""

.RightFooter = ""

.LeftMargin = Application.InchesToPoints(0.7)

.RightMargin = Application.InchesToPoints(0.7)

.TopMargin = Application.InchesToPoints(0.75)

.BottomMargin = Application.InchesToPoints(0.75)

.HeaderMargin = Application.InchesToPoints(0.3)

.FooterMargin = Application.InchesToPoints(0.3)

.PrintHeadings = False

.PrintGridlines = False

.PrintComments = xlPrintNoComments

.PrintQuality = 600

.CenterHorizontally = False

.CenterVertically = False

.Orientation = xlLandscape

.Draft = False

.PaperSize = xlPaperA4

.FirstPageNumber = xlAutomatic

.Order = xlDownThenOver

.BlackAndWhite = False

.Zoom = 100

.PrintErrors = xlPrintErrorsDisplayed

.OddAndEvenPagesHeaderFooter = False

.DifferentFirstPageHeaderFooter = False

.ScaleWithDocHeaderFooter = True

.AlignMarginsHeaderFooter = True

.EvenPage.LeftHeader.Text = ""

.EvenPage.CenterHeader.Text = ""

.EvenPage.RightHeader.Text = ""

.EvenPage.LeftFooter.Text = ""

.EvenPage.CenterFooter.Text = ""

.EvenPage.RightFooter.Text = ""

.FirstPage.LeftHeader.Text = ""

.FirstPage.CenterHeader.Text = ""

.FirstPage.RightHeader.Text = ""

.FirstPage.LeftFooter.Text = ""

.FirstPage.CenterFooter.Text = ""

.FirstPage.RightFooter.Text = ""

End With

Application.PrintCommunication = True

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _

IgnorePrintAreas:=False

End Sub

如果你的页面设置都一样,最简单的办法,你先选中你要改的所有的表,设一次就得了,非用VBA可以这样做:

1、把你改一个表的流程用录制宏的办法录下来,作为修改的核心,

2、编辑宏 在录下来的流程外面加上一层循环 改所有的表

2.1取得你的工作薄中sheet的数量 for i=1 to Worksheets.Count 以此建立循环

2.2 选取一个工作表   Worksheets(i).Select

2.3 这里是你录的哪个宏内容……

2.3 next i

搞定


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7832735.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存