Powershell 处理excel打印问题

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:51   1372   0

$homedocuments = "C:\Users\YourUserName\Documents" to whatever folder you specify.

Function PrintXL($FileName) {

$xlPortrait = 1

$xlLandscape = 2

$xlPrintNoComments = -4142

$xlPaperLetter = 1

$xlPaperLedger=4

$xlPaperLegal = 5

$xlPaperFolio=14

$xlPaper11x17=17

$xlDownThenOver = 1

$xlAutomatic = -4105

$xl = New-Object -comobject excel.application

$xl.Visible = $true

$xl.DisplayAlerts = $False

$wb = $xl.Workbooks.Open($FileName)

$ws = $wb.Worksheets.Item(1)

#== PRINT SETUP TO FIT DATA TO ONE PAGE

$ws.PageSetup.PrintTitleRows = "$1:$1"

$ws.PageSetup.PrintTitleColumns = ""

$ws.PageSetup.LeftHeader = ""

$ws.PageSetup.CenterHeader = "&""MS Sans Serif,Bold""&14&A"

$ws.PageSetup.RightHeader = ""

$ws.PageSetup.LeftFooter = ""

$ws.PageSetup.CenterFooter = "Page &P"

$ws.PageSetup.RightFooter = ""

$ws.PageSetup.LeftMargin = $xl.InchesToPoints(0.25)

$ws.PageSetup.RightMargin = $xl.InchesToPoints(0.25)

$ws.PageSetup.TopMargin = $xl.InchesToPoints(0.5)

$ws.PageSetup.BottomMargin = $xl.InchesToPoints(0.5)

$ws.PageSetup.HeaderMargin = $xl.InchesToPoints(0.25)

$ws.PageSetup.FooterMargin = $xl.InchesToPoints(0.25)

$ws.PageSetup.PrintHeadings = $False

$ws.PageSetup.PrintGridlines = $true

$ws.PageSetup.PrintComments = $xlPrintNoComments

# $ws.PageSetup.PrintQuality = 600 $ws.PageSetup.CenterHorizontally = $FALSE

$ws.PageSetup.CenterVertically = $FALSE

$ws.PageSetup.Orientation = $xlLandscape

$ws.PageSetup.Draft = $False

$ws.PageSetup.PaperSize = 5

$ws.PageSetup.FirstPageNumber = $xlAutomatic

$ws.PageSetup.Order = 1

$ws.PageSetup.BlackAndWhite = $FALSE

$ws.PageSetup.Zoom = $False

$ws.PageSetup.FitToPagesWide = 1

$ws.PageSetup.FitToPagesTall = 9999

$range = $ws.usedRange

$r = $range.rows.count

$c = $range.Columns.count

$S = $ws.Cells.Item($r,$c)

$S = $S.Address()

$U = $ws.Cells.Item(1, 1)

$U = $U.Address()

$T = $U + ":" + $S

$ws.PageSetup.PrintArea = $T

$ws.Printout()

$wb.Close(0)

# Quit Excel

$xl.quit()

spps -n excel

}

$homedocuments = "C:\Users\YourUserName\Documents"

# Windows 7 does not have a %homedocuments%

$s = dir $homedocuments\*.xls? -Recurse

$s | foreach -process {

Write-Host $_

PrintXL($_)

}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP