无忧启动论坛
标题: excel打印格式设置求助 [打印本页]
作者: zhoubin 时间: 6 天前
标题: excel打印格式设置求助
本帖最后由 zhoubin 于 2026-2-9 15:26 编辑
每月都要打印不同的excel工作簿,工作簿格式相同,只是单元格数据不同,每次手动设置工作表格式,都是重复的劳动,怎么操作一下,工作簿自动调整行高列宽等动作,要启用宏吗,我不会,知道这里高手多,给指点一下,谢谢
感谢各位坛友们,帮忙,这里31楼的可以参考,还有这里61楼的,修改自58楼cutebe,感谢各位帮忙,谢谢,在此就不一一致谢了,谢谢各位!
作者: zhoubin 时间: 6 天前
怎么启用宏,我也不会,高手给说一下。
作者: dayeye 时间: 6 天前
先弄好格式,给填数据的。
作者: zhoubin 时间: 6 天前
有没有更好的办法,数据是从报表网站导下来的,只是调整格式,打印一下
作者: ylbf 时间: 6 天前
让有模板的excel读取报表网站下载下来的数据,加载到打印的模板文件,可以借助PowerQuery等等,也可以简单的从文件导入然后做排版。

作者: ohte 时间: 6 天前
自已录制一个宏,另存为启用宏的工作簿xlsm
下次打开,按ALT+F8运行宏
作者: cutebe 时间: 6 天前
外部可用JS
_Sheet.Columns("C:D").ColumnWidth=20; //列宽20
_Sheet.Columns("A:B").AutoFit; //列宽自适应
_Sheet.Rows(5).RowHeight=30; //行高30
_Sheet.Rows("6:7").AutoFit; //行高自适应
作者: zhoubin 时间: 6 天前
不会,给详细说一下呗,谢谢您
作者: zhoubin 时间: 6 天前
要设置的很多,比如:列宽有1.88,有7.5的,行高:不同的工作表也不一样,且行高也不同,有22的,有18的,还有字体,打印区域,打印标题等设置
作者: ohte 时间: 6 天前
本帖最后由 ohte 于 2026-2-4 12:48 编辑
宏录制使用方法视频教程:bilibili.com/video/av947645936/
宏录制是自动化重复性任务的有效工具,特别适用于 Microsoft Excel 等支持 VBA(Visual Basic for Applications)的应用程序。以下是使用宏录制的详细步骤:
1.启用开发工具选项卡
打开 Excel,点击 文件 > 选项 > 自定义功能区。
在右侧的主选项卡列表中勾选 开发工具,然后点击 确定。
2.录制宏
在 开发工具 选项卡中,点击 录制宏。 输入宏的名称(首字符必须为字母,不能包含空格)。 可选择分配快捷键(建议使用 Ctrl + Shift 组合键以避免覆盖默认快捷键)。 选择保存位置(如“此工作簿”)。 可在说明框中输入宏的用途描述(可选)。
点击 确定 开始录制。
执行需要自动化的操作,例如格式化单元格、输入数据或应用公式。
完成后,点击 停止录制。
3.运行宏
使用快捷键:如果在录制时设置了快捷键,可直接按下运行。
使用宏对话框: 点击 开发工具 > 宏 或按 Alt + F8。 选择要运行的宏并点击 运行。
4.查看和编辑代码
按 Alt + F11 打开 VBA 编辑器。
在左侧项目窗口中找到对应模块,双击查看生成的代码。
可根据需要修改代码以实现更复杂的功能。
5.注意事项
宏无法撤销操作,建议在副本上测试运行。
确保启用宏安全性设置,并仅运行来自可信来源的宏。
通过以上步骤,您可以轻松录制和管理宏,从而提高工作效率。
作者: ppll2030 时间: 6 天前
如果打印的格式都是固定的。那最简单的就是做好这一版然后锁定格式,最后把下载数据内容复制仅数值进去就可以了。
作者: ebaqiang 时间: 6 天前
纯路过~顶起来!
作者: 狼人72105 时间: 6 天前
你要是工作簿中含有多个表格,且表格的格式都是一样的,只是数据不同?这样的话,多简单,你自己要在工作簿中按crlt键,鼠标指向sheet1,向右拖移,就会生成一个格式相同的sheet2表格,清空其中数据,重新填写新的数据不就好了?
作者: 狼人72105 时间: 6 天前
写宏命令,也可以。有点烦。
作者: wsdyleon 时间: 6 天前
不是复制一个,改改数据不就好了,为什么一直要调整。
作者: a66 时间: 6 天前
看看
作者: zhoubin 时间: 6 天前
感谢,我试一下,谢谢
作者: handsome_xiang 时间: 6 天前
学习一下
作者: zhoubin 时间: 6 天前
本帖最后由 zhoubin 于 2026-2-5 07:59 编辑
录了一段宏,竟然用不了,提示:编译错误:参数不可选,大佬帮我看看哪里错了,谢谢
-
-
打印设置 - 宏.txt
131.86 KB, 下载次数: 7, 下载积分: 无忧币 -2
作者: 邪恶海盗 时间: 6 天前
我觉得吧,干活的速度不能太快,毕竟总有干不完的活...
二○二六年二月四日
作者: a583091790 时间: 6 天前
做一个固定的模板就好了。
作者: cutebe 时间: 6 天前
- //设置表格格式.JS
- var xlsFile=WScript.Arguments(0); //拖入表格文件
- var XlsApp = new ActiveXObject("Excel.Application"); //创建表格程序对象
- var _Books = XlsApp.Workbooks.open(xlsFile); //打开表格文件(簿)
- var _Sheet = _Books.Worksheets(1); //工作表
- XlsApp.Visible = 1; //显示表格程序
- _Sheet.Columns(3).ColumnWidth=1.88; //列宽1.88
- _Sheet.Columns(4).ColumnWidth=7.5; //列宽7.5
- _Sheet.Columns("A:B").AutoFit; //列宽自适应
- _Sheet.Rows(1).RowHeight=22; //行高22
- _Sheet.Rows(2).RowHeight=18; //行高18
- _Sheet.Rows("5:8").AutoFit; //行高自适应
- _Sheet.UsedRange.Font.Name='宋体'; //字体
- _Sheet.PageSetup.PrintTitleRows = "$1:$2"; //顶端标题行
- _Sheet.PageSetup.PrintTitleColumns = "$A:$E"; //左端标题列
- _Sheet.PageSetup.PrintArea = _Sheet.Range("A1:E35").Address; //打印区域
复制代码
作者: kyowjg 时间: 6 天前
这不就是先空表格搞好当模版,每次复制数据就行了吗?
作者: zhoubin 时间: 6 天前
有一excel工作簿:决算.xls,工作簿里有15个工作表
,
000工作表:打印区域选定为:A1:B17,无填充颜色;纵向打印;打印页边距:上2.5、下2.5、左1.4、右1.3。
003工作表:打印区域选定为:A1:BF80,无填充颜色;横向打印;打印页边距:上1.9、下1.8、左1、右0.4;C列D列:列宽1.88,E列F列:列宽7.5,G列至AR列:列宽1.88,AS列AT列:列宽7.5,AU列至BE列:列宽1.88,BF列:列宽9.86,其余列保持原列宽,不做调整;替换工作簿里:金额单位:?$为金额单位:万元;设置A3: BF80,宋体8号字;4至6行,行高调整为14,7行,行高调整为69,8至80行,行高调整为14,其余行高保持原行高,不做调整;打印:将所有列调整为一页;打印顶端标题行1至3行($1:$3)。
其余002表以后,不再赘述. . . 谢谢
作者: 2314840143 时间: 6 天前
围观
作者: djsh001 时间: 6 天前
录个宏最省事了。
感谢各位高手!
作者: djsh001 时间: 6 天前
看看这个。
日常工作中,有很多时候需要将Excel文件中的内容逐个粘贴到软件/网页中(填表操作),需要不停的复制-粘贴,该软件可以省略打开Excel文件和复制的操作,点击相应的复制按钮即可将所需数据复制到剪切板中。
操作要求:
1.需要在软件同级目录放置以_build.xlsx结尾的excle文件,若无法确定数据是否合适,请将所需数据粘贴到测试表格中运行,表格第一行为标题,标题会被直接读取到按钮标题中;
2.运行后界面“上一条”和“下一条”会逐行显示数据,复制:...按钮会将当前行的数据复制到剪贴板中,使用时直接粘贴即可。
注意:
1.该软件暂时还未适配xls文件,使用时请将文件另存为xlsx格式的文件;
2.软件退出后会将当前读取行数保存到用户目录下,不喜欢乱七八糟配置文件的请另寻高明。
软件及测试文件下载链接:
文件名称:万能表格复制助手 v0.6.zip
百度网盘分享链接: https://pan.baidu.com/s/1FEakoE4WFM5NxODs-UTkPQ
提取码: u3q5
作者: 狼人72105 时间: 5 天前
Option Explicit Sub MonthPrint_Optimized() ' MonthPrint 优化版宏 ' 打印月年报 - 修复和优化版本 On Error GoTo ErrorHandler ' 定义工作表数组 Dim sheetNames As Variant sheetNames = Array("000", "003", "002", "100", "101", "102", "104", "105", _ "106", "107", "108", "109", "900", "103", "001") Dim startTime As Double startTime = Timer Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.DisplayAlerts = False Dim ws As Worksheet Dim sheetName As Variant ' 批量处理所有工作表 For Each sheetName In sheetNames On Error Resume Next Set ws = ThisWorkbook.Sheets(CStr(sheetName)) On Error GoTo ErrorHandler If Not ws Is Nothing Then ' 应用基础打印设置 ApplyBasePrintSettings ws ' 根据工作表名称应用特定设置 Select Case CStr(sheetName) Case "000" ApplySheet000Settings ws Case "003" ApplySheet003Settings ws Case "002" ApplySheet002Settings ws Case "100", "101", "102", "104", "105", "106", "107" ApplyGeneralSheetSettings ws Case "108", "109", "900", "103", "001" ApplyGeneralSheetSettings ws ' 可以为每个表添加特定设置 If CStr(sheetName) = "001" Then ApplySheet001Settings ws End If End Select Set ws = Nothing End If Next sheetName CleanUp: Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Application.DisplayAlerts = True Dim elapsedTime As Double elapsedTime = Timer - startTime MsgBox "打印设置完成!耗时: " & Format(elapsedTime, "0.00") & "秒", vbInformation Exit Sub ErrorHandler: MsgBox "错误发生: " & Err.Description & vbCrLf & _ "错误号: " & Err.Number & vbCrLf & _ "工作表: " & IIf(ws Is Nothing, "N/A", ws.Name), vbCritical Resume CleanUp End Sub ' 基础打印设置子程序 Private Sub ApplyBasePrintSettings(ws As Worksheet) Application.PrintCommunication = False With ws.PageSetup ' 页边距设置 .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 .Draft = False .PaperSize = xlPaperA4 .FirstPageNumber = xlAutomatic .Order = xlDownThenOver .BlackAndWhite = False .Zoom = False .PrintErrors = xlPrintErrorsDisplayed .OddAndEvenPagesHeaderFooter = False .DifferentFirstPageHeaderFooter = False .ScaleWithDocHeaderFooter = True .AlignMarginsHeaderFooter = False ' 清空页眉页脚 .LeftHeader = "" .CenterHeader = "" .RightHeader = "" .LeftFooter = "" .CenterFooter = "" .RightFooter = "" ' 偶数页页眉页脚 .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 End Sub ' 工作表000的特定设置 Private Sub ApplySheet000Settings(ws As Worksheet) With ws.PageSetup .Orientation = xlPortrait .FitToPagesWide = 1 .FitToPagesTall = 0 End With End Sub ' 工作表003的特定设置 Private Sub ApplySheet003Settings(ws As Worksheet) Application.PrintCommunication = False With ws.PageSetup ' 设置为横向 .Orientation = xlLandscape .FitToPagesWide = 1 .FitToPagesTall = False ' 打印区域 .PrintArea = "$A$1:$BF$80" .PrintTitleRows = "$1:$8" ' 自定义边距 .LeftMargin = Application.InchesToPoints(0.748) .RightMargin = Application.InchesToPoints(0.748) .TopMargin = Application.InchesToPoints(0.669) .BottomMargin = Application.InchesToPoints(0.591) End With Application.PrintCommunication = True ' 设置列宽和行高 With ws ' 设置列宽 .Columns("C:BF").ColumnWidth = 1.88 .Columns("E:E").ColumnWidth = 7.5 .Columns("F:F").ColumnWidth = 7.5 .Columns("AS:AS").ColumnWidth = 7.5 .Columns("AT:AT").ColumnWidth = 7.5 .Columns("BF:BF").ColumnWidth = 11.29 ' 设置行高 .Rows("1:1").RowHeight = 10.5 .Rows("2:2").RowHeight = 27 .Rows("3:3").RowHeight = 44.25 .Rows("7:7").RowHeight = 81 .Rows("8:80").RowHeight = 18 ' 设置字体 .Range("C10:BF80").Font.Name = "宋体" .Range("C10:BF80").Font.Size = 9 .Range("A4:BF80").Font.Size = 10 ' 替换文本 .Range("AT3").Replace What:="金额单位:?$", Replacement:="金额单位:万元", LookAt:=xlPart .Range("BF3").Value = "表号:003" & Chr(10) & "金额单位:万元" End With End Sub ' 工作表002的特定设置 Private Sub ApplySheet002Settings(ws As Worksheet) Application.PrintCommunication = False With ws.PageSetup .Orientation = xlLandscape .FitToPagesWide = 1 .FitToPagesTall = False .PrintTitleRows = "$1:$4" ' 自定义边距 .LeftMargin = Application.InchesToPoints(0.748) .RightMargin = Application.InchesToPoints(0.748) .TopMargin = Application.InchesToPoints(0.709) .BottomMargin = Application.InchesToPoints(0.63) End With Application.PrintCommunication = True With ws ' 设置行高 .Rows("1:1").RowHeight = 17.25 .Rows("2:2").RowHeight = 20.25 .Rows("3:3").RowHeight = 26.25 .Rows("4:75").RowHeight = 14 ' 设置列宽 .Columns("F:F").ColumnWidth = 47.57 ' 设置字体 .Range("F31,F69,F70").Font.Name = "宋体" .Range("F31,F69,F70").Font.Size = 6 End With End Sub ' 工作表001的特定设置 Private Sub ApplySheet001Settings(ws As Worksheet) Application.PrintCommunication = False With ws.PageSetup .Orientation = xlLandscape .FitToPagesWide = 1 .FitToPagesTall = False .PrintTitleRows = "$1:$8" ' 自定义边距 .LeftMargin = Application.InchesToPoints(0.748) .RightMargin = Application.InchesToPoints(0.748) .TopMargin = Application.InchesToPoints(0.984) .BottomMargin = Application.InchesToPoints(0.827) End With Application.PrintCommunication = True With ws ' 设置列宽 .Columns("C:AF").ColumnWidth = 9 End With End Sub ' 通用工作表设置 Private Sub ApplyGeneralSheetSettings(ws As Worksheet) ' 默认设置为横向 With ws.PageSetup .Orientation = xlLandscape .FitToPagesWide = 1 .FitToPagesTall = False End With ' 替换所有工作表中的"金额单位:?$" On Error Resume Next ws.Cells.Replace What:="金额单位:?$", Replacement:="金额单位:万元", LookAt:=xlPart On Error GoTo 0 End Sub ' 快捷打印宏 Sub QuickPrintAll() ' 直接打印所有配置好的工作表 On Error GoTo PrintError Application.ScreenUpdating = False Dim sheetNames As Variant sheetNames = Array("000", "003", "002", "100", "101", "102", "104", "105", _ "106", "107", "108", "109", "900", "103", "001") Dim wsNames() As String ReDim wsNames(0 To UBound(sheetNames)) Dim i As Long For i = 0 To UBound(sheetNames) wsNames(i) = CStr(sheetNames(i)) Next i ' 选择并打印所有工作表 ThisWorkbook.Sheets(wsNames).Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True CleanUp: Application.ScreenUpdating = True Exit Sub PrintError: MsgBox "打印错误: " & Err.Description, vbExclamation Resume CleanUp End Sub ' 恢复默认设置(可选) Sub ResetPrintSettings() Dim ws As Worksheet Dim response As VbMsgBoxResult response = MsgBox("确定要重置所有工作表的打印设置吗?", vbYesNo + vbQuestion, "确认重置") If response = vbYes Then Application.ScreenUpdating = False For Each ws In ThisWorkbook.Worksheets With ws.PageSetup ' 恢复默认设置 .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 .CenterHorizontally = False .CenterVertically = False .Orientation = xlPortrait .PaperSize = xlPaperA4 .FirstPageNumber = xlAutomatic .Zoom = 100 .PrintArea = "" .PrintTitleRows = "" .PrintTitleColumns = ""
作者: 狼人72105 时间: 5 天前
Option Explicit Sub MonthPrint_Optimized() ' MonthPrint 优化版宏 ' 打印月年报 - 修复和优化版本 On Error GoTo ErrorHandler ' 定义工作表数组 Dim sheetNames As Variant sheetNames = Array("000", "003", "002", "100", "101", "102", "104", "105", _ "106", "107", "108", "109", "900", "103", "001") Dim startTime As Double startTime = Timer Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.DisplayAlerts = False Dim ws As Worksheet Dim sheetName As Variant ' 批量处理所有工作表 For Each sheetName In sheetNames On Error Resume Next Set ws = ThisWorkbook.Sheets(CStr(sheetName)) On Error GoTo ErrorHandler If Not ws Is Nothing Then ' 应用基础打印设置 ApplyBasePrintSettings ws ' 根据工作表名称应用特定设置 Select Case CStr(sheetName) Case "000" ApplySheet000Settings ws Case "003" ApplySheet003Settings ws Case "002" ApplySheet002Settings ws Case "100", "101", "102", "104", "105", "106", "107" ApplyGeneralSheetSettings ws Case "108", "109", "900", "103", "001" ApplyGeneralSheetSettings ws ' 可以为每个表添加特定设置 If CStr(sheetName) = "001" Then ApplySheet001Settings ws End If End Select Set ws = Nothing End If Next sheetName CleanUp: Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Application.DisplayAlerts = True Dim elapsedTime As Double elapsedTime = Timer - startTime MsgBox "打印设置完成!耗时: " & Format(elapsedTime, "0.00") & "秒", vbInformation Exit Sub ErrorHandler: MsgBox "错误发生: " & Err.Description & vbCrLf & _ "错误号: " & Err.Number & vbCrLf & _ "工作表: " & IIf(ws Is Nothing, "N/A", ws.Name), vbCritical Resume CleanUp End Sub ' 基础打印设置子程序 Private Sub ApplyBasePrintSettings(ws As Worksheet) Application.PrintCommunication = False With ws.PageSetup ' 页边距设置 .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 .Draft = False .PaperSize = xlPaperA4 .FirstPageNumber = xlAutomatic .Order = xlDownThenOver .BlackAndWhite = False .Zoom = False .PrintErrors = xlPrintErrorsDisplayed .OddAndEvenPagesHeaderFooter = False .DifferentFirstPageHeaderFooter = False .ScaleWithDocHeaderFooter = True .AlignMarginsHeaderFooter = False ' 清空页眉页脚 .LeftHeader = "" .CenterHeader = "" .RightHeader = "" .LeftFooter = "" .CenterFooter = "" .RightFooter = "" ' 偶数页页眉页脚 .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 End Sub ' 工作表000的特定设置 Private Sub ApplySheet000Settings(ws As Worksheet) With ws.PageSetup .Orientation = xlPortrait .FitToPagesWide = 1 .FitToPagesTall = 0 End With End Sub ' 工作表003的特定设置 Private Sub ApplySheet003Settings(ws As Worksheet) Application.PrintCommunication = False With ws.PageSetup ' 设置为横向 .Orientation = xlLandscape .FitToPagesWide = 1 .FitToPagesTall = False ' 打印区域 .PrintArea = "$A$1:$BF$80" .PrintTitleRows = "$1:$8" ' 自定义边距 .LeftMargin = Application.InchesToPoints(0.748) .RightMargin = Application.InchesToPoints(0.748) .TopMargin = Application.InchesToPoints(0.669) .BottomMargin = Application.InchesToPoints(0.591) End With Application.PrintCommunication = True ' 设置列宽和行高 With ws ' 设置列宽 .Columns("C:BF").ColumnWidth = 1.88 .Columns("E:E").ColumnWidth = 7.5 .Columns("F:F").ColumnWidth = 7.5 .Columns("AS:AS").ColumnWidth = 7.5 .Columns("AT:AT").ColumnWidth = 7.5 .Columns("BF:BF").ColumnWidth = 11.29 ' 设置行高 .Rows("1:1").RowHeight = 10.5 .Rows("2:2").RowHeight = 27 .Rows("3:3").RowHeight = 44.25 .Rows("7:7").RowHeight = 81 .Rows("8:80").RowHeight = 18 ' 设置字体 .Range("C10:BF80").Font.Name = "宋体" .Range("C10:BF80").Font.Size = 9 .Range("A4:BF80").Font.Size = 10 ' 替换文本 .Range("AT3").Replace What:="金额单位:?$", Replacement:="金额单位:万元", LookAt:=xlPart .Range("BF3").Value = "表号:003" & Chr(10) & "金额单位:万元" End With End Sub ' 工作表002的特定设置 Private Sub ApplySheet002Settings(ws As Worksheet) Application.PrintCommunication = False With ws.PageSetup .Orientation = xlLandscape .FitToPagesWide = 1 .FitToPagesTall = False .PrintTitleRows = "$1:$4" ' 自定义边距 .LeftMargin = Application.InchesToPoints(0.748) .RightMargin = Application.InchesToPoints(0.748) .TopMargin = Application.InchesToPoints(0.709) .BottomMargin = Application.InchesToPoints(0.63) End With Application.PrintCommunication = True With ws ' 设置行高 .Rows("1:1").RowHeight = 17.25 .Rows("2:2").RowHeight = 20.25 .Rows("3:3").RowHeight = 26.25 .Rows("4:75").RowHeight = 14 ' 设置列宽 .Columns("F:F").ColumnWidth = 47.57 ' 设置字体 .Range("F31,F69,F70").Font.Name = "宋体" .Range("F31,F69,F70").Font.Size = 6 End With End Sub ' 工作表001的特定设置 Private Sub ApplySheet001Settings(ws As Worksheet) Application.PrintCommunication = False With ws.PageSetup .Orientation = xlLandscape .FitToPagesWide = 1 .FitToPagesTall = False .PrintTitleRows = "$1:$8" ' 自定义边距 .LeftMargin = Application.InchesToPoints(0.748) .RightMargin = Application.InchesToPoints(0.748) .TopMargin = Application.InchesToPoints(0.984) .BottomMargin = Application.InchesToPoints(0.827) End With Application.PrintCommunication = True With ws ' 设置列宽 .Columns("C:AF").ColumnWidth = 9 End With End Sub ' 通用工作表设置 Private Sub ApplyGeneralSheetSettings(ws As Worksheet) ' 默认设置为横向 With ws.PageSetup .Orientation = xlLandscape .FitToPagesWide = 1 .FitToPagesTall = False End With ' 替换所有工作表中的"金额单位:?$" On Error Resume Next ws.Cells.Replace What:="金额单位:?$", Replacement:="金额单位:万元", LookAt:=xlPart On Error GoTo 0 End Sub ' 快捷打印宏 Sub QuickPrintAll() ' 直接打印所有配置好的工作表 On Error GoTo PrintError Application.ScreenUpdating = False Dim sheetNames As Variant sheetNames = Array("000", "003", "002", "100", "101", "102", "104", "105", _ "106", "107", "108", "109", "900", "103", "001") Dim wsNames() As String ReDim wsNames(0 To UBound(sheetNames)) Dim i As Long For i = 0 To UBound(sheetNames) wsNames(i) = CStr(sheetNames(i)) Next i ' 选择并打印所有工作表 ThisWorkbook.Sheets(wsNames).Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True CleanUp: Application.ScreenUpdating = True Exit Sub PrintError: MsgBox "打印错误: " & Err.Description, vbExclamation Resume CleanUp End Sub ' 恢复默认设置(可选) Sub ResetPrintSettings() Dim ws As Worksheet Dim response As VbMsgBoxResult response = MsgBox("确定要重置所有工作表的打印设置吗?", vbYesNo + vbQuestion, "确认重置") If response = vbYes Then Application.ScreenUpdating = False For Each ws In ThisWorkbook.Worksheets With ws.PageSetup ' 恢复默认设置 .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 .CenterHorizontally = False .CenterVertically = False .Orientation = xlPortrait .PaperSize = xlPaperA4 .FirstPageNumber = xlAutomatic .Zoom = 100 .PrintArea = "" .PrintTitleRows = "" .PrintTitleColumns = "" End With Next ws Application.ScreenUpdating = True MsgBox "打印设置已重置为默认值!", vbInformation End If End Sub
作者: 狼人72105 时间: 5 天前
试试上面宏代码
作者: ohte 时间: 5 天前
本帖最后由 ohte 于 2026-2-5 09:25 编辑
- Sub 格式设置15个表()
- '000工作表打印区域选定为:A1:B17,无填充颜色;纵向打印;打印页边距:上2.5、下2.5、左1.4、右1.3。
- Sheets("000").Select
- Range("A1:B17").Select
- With Selection.Interior
- .Pattern = xlNone
- .TintAndShade = 0
- .PatternTintAndShade = 0
- End With
- With ActiveSheet.PageSetup
- .PrintArea = ""
- .PrintArea = "$A$1:$B$17"
- .LeftMargin = Application.CentimetersToPoints(1.4)
- .RightMargin = Application.CentimetersToPoints(1.3)
- .TopMargin = Application.CentimetersToPoints(2.5)
- .BottomMargin = Application.CentimetersToPoints(2.5)
- .PaperSize = xlPaperA4
- .Orientation = xlPortrait
- .FitToPagesWide = 1
- .FitToPagesTall = 5
- End With
-
-
- '003工作表:打印区域选定为:A1:BF80,无填充颜色;横向打印;打印页边距:上1.9、下1.8、左1、右0.4;
- 'C列D列:列宽1.88,E列F列:列宽7.5,'G列至AR列:列宽1.88,
- 'AS列AT列:列宽7.5,'AU列至BE列:列宽1.88,'BF列:列宽9.86,'其余列保持原列宽,不做调整;
- '替换工作簿里:金额单位:?$为金额单位:万元;
- '设置A3: BF80,宋体8号字;
- '4至6行,行高调整为14,7行,行高调整为69,8至80行,行高调整为14,其余行高保持原行高,不做调整;
- '打印:将所有列调整为一页;打印顶端标题行1至3行($1:$3)
- Sheets("003").Select
- Range("A1:BF80").Select
- With Selection.Interior
- .Pattern = xlNone
- .TintAndShade = 0
- .PatternTintAndShade = 0
- End With
- Range("A3:BF80").Select
- With Selection.Font
- .Name = "宋体"
- .Size = 8
- End With
- Rows("4:6").RowHeight = 14
- Rows("7:7").RowHeight = 69
- Rows("8:80").RowHeight = 14
- Columns("C:D").ColumnWidth = 1.88
- Columns("E:F").ColumnWidth = 7.5
- Columns("G:AR").ColumnWidth = 1.88
- Columns("AS:AT").ColumnWidth = 7.5
- Columns("AU:BE").ColumnWidth = 1.88
- Columns("BF").ColumnWidth = 9.86
- Cells.Replace What:="?$", Replacement:="万元", LookAt:=xlPart, SearchOrder _
- :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
-
- With ActiveSheet.PageSetup
- .PrintArea = ""
- .PrintArea = "$A$1:$BF$80"
- .LeftMargin = Application.CentimetersToPoints(1)
- .RightMargin = Application.CentimetersToPoints(0.4)
- .TopMargin = Application.CentimetersToPoints(1.9)
- .BottomMargin = Application.CentimetersToPoints(1.8)
- .Orientation = xlLandscape
-
- .PrintTitleRows = "$1:$3"
- .FitToPagesWide = 1
- .FitToPagesTall = 5
- End With
- End Sub
复制代码
作者: zhoubin 时间: 5 天前
没法运行
-
2026-02-05_084743.png
(56.85 KB, 下载次数: 4)
作者: 扬帆128 时间: 5 天前
将要求具体清晰告诉DS,让它帮做个网页版的表,或用现有表让它邦做宏,它会教你如何用的
作者: 门口 时间: 5 天前
不想做模版或代码的话,直接在要复制格式的文件上右键新建即可,会快速生成个新文件。
作者: zhoubin 时间: 5 天前
这个有点问题
作者: zhoubin 时间: 5 天前
又调整了,刚看到
作者: cutebe 时间: 5 天前
把决算.xls拖入JS文件图标上
- //设置表格格式并打印.JS
- var 表格文件=WScript.Arguments(0); //拖入表格文件.xls/.xlsx
- var 表应用 = new ActiveXObject("Excel.Application"); //创建表格程序对象
- var 工作簿 = 表应用.Workbooks.open(表格文件); //打开表格文件
- var 工作表000 = 工作簿.Worksheets("000");
- var 工作表003 = 工作簿.Worksheets("003");
- 表应用.Visible = 1; //显示表格程序
- 表格纵向打印格式(工作表000);
- //工作表000.PrintPreview; //打印预览
- 工作表000.PrintOut; //打印
- 工作表003.UsedRange.Replace("金额单位:?$","金额单位:万元"); //替换文本
- 表格横向打印格式(工作表003);
- //工作表003.PrintPreview; //打印预览
- //工作表003.PrintOut; //打印
- //工作簿.Save(); //保存
- //工作簿.Close(0); //关闭
- //表应用.Quit(); //退出表格程序
- WScript.Quit(); //结束
- /* =====函数===== */
- function 表格纵向打印格式(表){
- var 区域=表.Range("A1:B17");
- 区域.Interior.ColorIndex = 0; //无背景色-4142
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //纵向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(2.5); //页边距上
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(2.5); //下
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.4); //左
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(1.3); //右
- }
- function 表格横向打印格式(表){
- var 区域=表.Range("A1:BF80");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 2; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(1.9); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(1.8); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(0.4); //右边距
- 表.Columns("C:D").ColumnWidth = 1.88; //C列D列宽1.88
- 表.Columns("E:F").ColumnWidth = 7.5; //E列F列宽7.5
- 表.Columns("G:AR").ColumnWidth = 1.88; //G列至AR列宽1.88
- 表.Columns("AS:AT").ColumnWidth = 7.5; //AS列AT列宽7.5
- 表.Columns("AU:BE").ColumnWidth = 1.88; //AU列至BE列宽1.88
- 表.Columns("BR").ColumnWidth = 9.86; //BF列宽9.86
- 区域=表.Range("A3: BF80");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 8; //字号
- 表.Rows("4:6").RowHeight = 14; //4至6行高14
- 表.Rows(7).RowHeight = 69; //7行高69
- 表.Rows("8:80").RowHeight = 14; //8至80行高14
- 表.PageSetup.PrintTitleRows = "$1:$3"; //顶端标题行
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一列
- 表.PageSetup.FitToPagesTall = false;
- //表.PageSetup.PaperSize = 8; //纸张大小A4:9,A3:8
- }
复制代码
作者: zhoubin 时间: 5 天前
报错了
作者: cutebe 时间: 5 天前
金山WPS正常,可能是MS的不支持中文
- //设置表格格式并打印.JS
- var _xlsFile=WScript.Arguments(0); //拖入表格文件.xls/.xlsx
- var XlsApp = new ActiveXObject("Excel.Application"); //创建表格程序对象
- var _Books = XlsApp.Workbooks.open(_xlsFile); //打开表格文件
- var _Sheet000 = _Books.Worksheets("000");
- var _Sheet003 = _Books.Worksheets("003");
- XlsApp.Visible = 1; //显示表格程序
- _Sheet_PrtFromat1(_Sheet000);
- //_Sheet000.PrintPreview; //打印预览
- _Sheet000.PrintOut; //打印
- _Sheet003.UsedRange.Replace("金额单位:?$","金额单位:万元"); //替换文本
- _Sheet_PrtFromat2(_Sheet003);
- //_Sheet003.PrintPreview; //打印预览
- //_Sheet003.PrintOut; //打印
- //_Books.Save(); //保存
- //_Books.Close(0); //关闭
- //XlsApp.Quit(); //退出表格程序
- WScript.Quit(); //结束
- /* =====函数===== */
- function _Sheet_PrtFromat1(_Sht){
- var _fRange=_Sht.Range("A1:B17");
- _fRange.Interior.ColorIndex = 0; //无背景色-4142
- _Sht.PageSetup.PrintArea = _fRange.Address; //打印区域
- _Sht.PageSetup.Orientation = 1; //纵向打印
- _Sht.PageSetup.TopMargin = XlsApp.CentimetersToPoints(2.5); //页边距上
- _Sht.PageSetup.BottomMargin = XlsApp.CentimetersToPoints(2.5); //下
- _Sht.PageSetup.LeftMargin = XlsApp.CentimetersToPoints(1.4); //左
- _Sht.PageSetup.RightMargin = XlsApp.CentimetersToPoints(1.3); //右
- }
- function _Sheet_PrtFromat2(_Sht){
- var _fRange=_Sht.Range("A1:BF80");
- _fRange.Interior.ColorIndex = -4142; //无背景色
- _Sht.PageSetup.PrintArea = _fRange.Address; //打印区域
- _Sht.PageSetup.Orientation = 2; //横向打印
- _Sht.PageSetup.TopMargin = XlsApp.CentimetersToPoints(1.9); //上边距,页边距
- _Sht.PageSetup.BottomMargin = XlsApp.CentimetersToPoints(1.8); //下边距
- _Sht.PageSetup.LeftMargin = XlsApp.CentimetersToPoints(1); //左边距
- _Sht.PageSetup.RightMargin = XlsApp.CentimetersToPoints(0.4); //右边距
- _Sht.Columns("C:D").ColumnWidth = 1.88; //C列D列宽1.88
- _Sht.Columns("E:F").ColumnWidth = 7.5; //E列F列宽7.5
- _Sht.Columns("G:AR").ColumnWidth = 1.88; //G列至AR列宽1.88
- _Sht.Columns("AS:AT").ColumnWidth = 7.5; //AS列AT列宽7.5
- _Sht.Columns("AU:BE").ColumnWidth = 1.88; //AU列至BE列宽1.88
- _Sht.Columns("BR").ColumnWidth = 9.86; //BF列宽9.86
- _fRange=_Sht.Range("A3: BF80");
- _fRange.Font.Name = '宋体'; //字体
- _fRange.Font.Size = 8; //字号
- _Sht.Rows("4:6").RowHeight = 14; //4至6行高14
- _Sht.Rows(7).RowHeight = 69; //7行高69
- _Sht.Rows("8:80").RowHeight = 14; //8至80行高14
- _Sht.PageSetup.PrintTitleRows = "$1:$3"; //顶端标题行
- _Sht.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一列
- _Sht.PageSetup.FitToPagesTall = false;
- //_Sht.PageSetup.PaperSize = 8; //纸张大小A4:9,A3:8
- }
复制代码
作者: zhoubin 时间: 5 天前
仍然报错
作者: 狼人72105 时间: 5 天前
zhoubin 发表于 2026-2-5 08:55
没法运行
笨蛋,你直接复制的,没有分行,怎么运行?
作者: 狼人72105 时间: 5 天前
Option Explicit
Sub MonthPrint_Optimized()
' MonthPrint 优化版宏
' 打印月年报 - 修复和优化版本
On Error GoTo ErrorHandler
' 定义工作表数组
Dim sheetNames As Variant
sheetNames = Array("000", "003", "002", "100", "101", "102", "104", "105", _
"106", "107", "108", "109", "900", "103", "001")
Dim startTime As Double
startTime = Timer
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.DisplayAlerts = False
Dim ws As Worksheet
Dim sheetName As Variant
' 批量处理所有工作表
For Each sheetName In sheetNames
On Error Resume Next
Set ws = ThisWorkbook.Sheets(CStr(sheetName))
On Error GoTo ErrorHandler
If Not ws Is Nothing Then
' 应用基础打印设置
ApplyBasePrintSettings ws
' 根据工作表名称应用特定设置
Select Case CStr(sheetName)
Case "000"
ApplySheet000Settings ws
Case "003"
ApplySheet003Settings ws
Case "002"
ApplySheet002Settings ws
Case "100", "101", "102", "104", "105", "106", "107"
ApplyGeneralSheetSettings ws
Case "108", "109", "900", "103", "001"
ApplyGeneralSheetSettings ws
' 可以为每个表添加特定设置
If CStr(sheetName) = "001" Then
ApplySheet001Settings ws
End If
End Select
Set ws = Nothing
End If
Next sheetName
CleanUp:
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.DisplayAlerts = True
Dim elapsedTime As Double
elapsedTime = Timer - startTime
MsgBox "打印设置完成!耗时: " & Format(elapsedTime, "0.00") & "秒", vbInformation
Exit Sub
ErrorHandler:
MsgBox "错误发生: " & Err.Description & vbCrLf & _
"错误号: " & Err.Number & vbCrLf & _
"工作表: " & IIf(ws Is Nothing, "N/A", ws.Name), vbCritical
Resume CleanUp
End Sub
' 基础打印设置子程序
Private Sub ApplyBasePrintSettings(ws As Worksheet)
Application.PrintCommunication = False
With ws.PageSetup
' 页边距设置
.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
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = False
' 清空页眉页脚
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
' 偶数页页眉页脚
.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
End Sub
' 工作表000的特定设置
Private Sub ApplySheet000Settings(ws As Worksheet)
With ws.PageSetup
.Orientation = xlPortrait
.FitToPagesWide = 1
.FitToPagesTall = 0
End With
End Sub
' 工作表003的特定设置
Private Sub ApplySheet003Settings(ws As Worksheet)
Application.PrintCommunication = False
With ws.PageSetup
' 设置为横向
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = False
' 打印区域
.PrintArea = "$A$1:$BF$80"
.PrintTitleRows = "$1:$8"
' 自定义边距
.LeftMargin = Application.InchesToPoints(0.748)
.RightMargin = Application.InchesToPoints(0.748)
.TopMargin = Application.InchesToPoints(0.669)
.BottomMargin = Application.InchesToPoints(0.591)
End With
Application.PrintCommunication = True
' 设置列宽和行高
With ws
' 设置列宽
.Columns("C:BF").ColumnWidth = 1.88
.Columns("E:E").ColumnWidth = 7.5
.Columns("F:F").ColumnWidth = 7.5
.Columns("AS:AS").ColumnWidth = 7.5
.Columns("AT:AT").ColumnWidth = 7.5
.Columns("BF:BF").ColumnWidth = 11.29
' 设置行高
.Rows("1:1").RowHeight = 10.5
.Rows("2:2").RowHeight = 27
.Rows("3:3").RowHeight = 44.25
.Rows("7:7").RowHeight = 81
.Rows("8:80").RowHeight = 18
' 设置字体
.Range("C10:BF80").Font.Name = "宋体"
.Range("C10:BF80").Font.Size = 9
.Range("A4:BF80").Font.Size = 10
' 替换文本
.Range("AT3").Replace What:="金额单位:?$", Replacement:="金额单位:万元", LookAt:=xlPart
.Range("BF3").Value = "表号:003" & Chr(10) & "金额单位:万元"
End With
End Sub
' 工作表002的特定设置
Private Sub ApplySheet002Settings(ws As Worksheet)
Application.PrintCommunication = False
With ws.PageSetup
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = False
.PrintTitleRows = "$1:$4"
' 自定义边距
.LeftMargin = Application.InchesToPoints(0.748)
.RightMargin = Application.InchesToPoints(0.748)
.TopMargin = Application.InchesToPoints(0.709)
.BottomMargin = Application.InchesToPoints(0.63)
End With
Application.PrintCommunication = True
With ws
' 设置行高
.Rows("1:1").RowHeight = 17.25
.Rows("2:2").RowHeight = 20.25
.Rows("3:3").RowHeight = 26.25
.Rows("4:75").RowHeight = 14
' 设置列宽
.Columns("F:F").ColumnWidth = 47.57
' 设置字体
.Range("F31,F69,F70").Font.Name = "宋体"
.Range("F31,F69,F70").Font.Size = 6
End With
End Sub
' 工作表001的特定设置
Private Sub ApplySheet001Settings(ws As Worksheet)
Application.PrintCommunication = False
With ws.PageSetup
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = False
.PrintTitleRows = "$1:$8"
' 自定义边距
.LeftMargin = Application.InchesToPoints(0.748)
.RightMargin = Application.InchesToPoints(0.748)
.TopMargin = Application.InchesToPoints(0.984)
.BottomMargin = Application.InchesToPoints(0.827)
End With
Application.PrintCommunication = True
With ws
' 设置列宽
.Columns("C:AF").ColumnWidth = 9
End With
End Sub
' 通用工作表设置
Private Sub ApplyGeneralSheetSettings(ws As Worksheet)
' 默认设置为横向
With ws.PageSetup
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = False
End With
' 替换所有工作表中的"金额单位:?$"
On Error Resume Next
ws.Cells.Replace What:="金额单位:?$", Replacement:="金额单位:万元", LookAt:=xlPart
On Error GoTo 0
End Sub
' 快捷打印宏
Sub QuickPrintAll()
' 直接打印所有配置好的工作表
On Error GoTo PrintError
Application.ScreenUpdating = False
Dim sheetNames As Variant
sheetNames = Array("000", "003", "002", "100", "101", "102", "104", "105", _
"106", "107", "108", "109", "900", "103", "001")
Dim wsNames() As String
ReDim wsNames(0 To UBound(sheetNames))
Dim i As Long
For i = 0 To UBound(sheetNames)
wsNames(i) = CStr(sheetNames(i))
Next i
' 选择并打印所有工作表
ThisWorkbook.Sheets(wsNames).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
CleanUp:
Application.ScreenUpdating = True
Exit Sub
PrintError:
MsgBox "打印错误: " & Err.Description, vbExclamation
Resume CleanUp
End Sub
' 恢复默认设置(可选)
Sub ResetPrintSettings()
Dim ws As Worksheet
Dim response As VbMsgBoxResult
response = MsgBox("确定要重置所有工作表的打印设置吗?", vbYesNo + vbQuestion, "确认重置")
If response = vbYes Then
Application.ScreenUpdating = False
For Each ws In ThisWorkbook.Worksheets
With ws.PageSetup
' 恢复默认设置
.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
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Zoom = 100
.PrintArea = ""
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Next ws
Application.ScreenUpdating = True
MsgBox "打印设置已重置为默认值!", vbInformation
End If
End Sub
作者: 狼人72105 时间: 5 天前
这一下,粘贴试试
作者: cutebe 时间: 5 天前
本帖最后由 cutebe 于 2026-2-5 11:53 编辑
另存为时,编码选ANSI
再截图看下(报错的第15行)你复制的代码,要去掉行号
作者: zhoubin 时间: 5 天前
报告大佬,你的代码,一直运行,停不下来,也关不掉
作者: ohte 时间: 5 天前
15张表格都做好了。
作者: 狼人72105 时间: 5 天前
啊?
作者: zhoubin 时间: 5 天前
这下不报错了,你这个直接开始打印了,不要直接打印,只调格式就好;还有以下问题,麻烦您看一下第2个工作表:将所有列调整为一页;AE5单元格:所有框线;6行行高:44;插入页脚:第1页,共2页;
谢谢老师
作者: ylbf 时间: 5 天前
财务还是让公司买一套软件吧,财务软件有基础的报表打印功能的.开源节流事半功倍。
作者: cutebe 时间: 5 天前
本帖最后由 cutebe 于 2026-2-5 17:39 编辑
- //设置表格格式.JS
- var 表格文件=WScript.Arguments(0); //拖入表格文件.xls/.xlsx
- var 表应用 = new ActiveXObject("Excel.Application"); //创建表格程序对象
- var 工作簿 = 表应用.Workbooks.open(表格文件); //打开表格文件
- var 工作表000 = 工作簿.Worksheets("000");
- var 工作表003 = 工作簿.Worksheets("003");
- 表应用.Visible = 1; //显示表格程序
- 表格纵向打印格式(工作表000);
- //工作表000.PrintPreview; //打印预览
- 工作表003.UsedRange.Replace("金额单位:?$","金额单位:万元"); //替换文本
- 表格横向打印格式(工作表003);
- //工作表003.PrintPreview; //打印预览
- //工作簿.Save(); //保存
- //工作簿.Close(0); //关闭
- //表应用.Quit(); //退出表格程序
- WScript.Quit(); //结束
- /* =====函数===== */
- function 表格纵向打印格式(表){
- var 区域=表.Range("A1:B17");
- 区域.Interior.ColorIndex = 0; //无背景色-4142
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //纵向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(2.5); //页边距上
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(2.5); //下
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.4); //左
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(1.3); //右
- }
- function 表格横向打印格式(表){
- var 区域=表.Range("A1:BF80");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 2; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(1.9); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(1.8); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(0.4); //右边距
- 表.Columns("C:D").ColumnWidth = 1.88; //C列D列宽1.88
- 表.Columns("E:F").ColumnWidth = 7.5; //E列F列宽7.5
- 表.Columns("G:AR").ColumnWidth = 1.88; //G列至AR列宽1.88
- 表.Columns("AS:AT").ColumnWidth = 7.5; //AS列AT列宽7.5
- 表.Columns("AU:BE").ColumnWidth = 1.88; //AU列至BE列宽1.88
- 表.Columns("BR").ColumnWidth = 9.86; //BF列宽9.86
- 区域=表.Range("A3: BF80");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 8; //字号
- 表.Range("AE5").Borders(8).LineStyle = 1; //上边8,AE5单元格边框
- 表.Range("AE5").Borders(8).Weight = 2;
- 表.Range("AE5").Borders(9).LineStyle = 1; //下边9
- 表.Range("AE5").Borders(9).Weight = 2;
- 表.Range("AE5").Borders(7).LineStyle = 1; //左边7
- 表.Range("AE5").Borders(7).Weight = 2;
- 表.Range("AE5").Borders(10).LineStyle= 1; //右边10
- 表.Range("AE5").Borders(10).Weight = 2;
- 表.Rows("4:5").RowHeight = 14; //4至6行高14
- 表.Rows(6).RowHeight = 44; //6行高44
- 表.Rows(7).RowHeight = 69; //7行高69
- 表.Rows("8:80").RowHeight = 14; //8至80行高14
- 表.PageSetup.CenterFooter = "第 &P 页,共 &N 页"; //中页脚
- 表.PageSetup.PrintTitleRows = "$1:$3"; //顶端标题行
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = 0;
- }
复制代码
作者: zhoubin 时间: 5 天前
又报错了
作者: cutebe 时间: 5 天前
再看看
- //设置表格格式.JS
- var 表格文件=WScript.Arguments(0); //拖入表格文件.xls/.xlsx
- var 表应用 = new ActiveXObject("Excel.Application"); //创建表格程序对象
- var 工作簿 = 表应用.Workbooks.open(表格文件); //打开表格文件
- var 工作表000 = 工作簿.Worksheets("000");
- var 工作表003 = 工作簿.Worksheets("003");
- 表应用.Visible = 1; //显示表格程序
- 表格纵向打印格式(工作表000);
- //工作表000.PrintPreview; //打印预览
- 工作表003.UsedRange.Replace("金额单位:?$","金额单位:万元"); //替换文本
- 表格横向打印格式(工作表003);
- //工作表003.PrintPreview; //打印预览
- //工作簿.Save(); //保存
- //工作簿.Close(0); //关闭
- //表应用.Quit(); //退出表格程序
- WScript.Quit(); //结束
- /* =====函数===== */
- function 表格纵向打印格式(表){
- var 区域=表.Range("A1:B17");
- 区域.Interior.ColorIndex = 0; //无背景色-4142
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //纵向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(2.5); //页边距上
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(2.5); //下
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.4); //左
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(1.3); //右
- }
- function 表格横向打印格式(表){
- var 区域=表.Range("A1:BF80");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 2; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(1.9); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(1.8); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(0.4); //右边距
- 表.Columns("C:D").ColumnWidth = 1.88; //C列D列宽1.88
- 表.Columns("E:F").ColumnWidth = 7.5; //E列F列宽7.5
- 表.Columns("G:AR").ColumnWidth = 1.88; //G列至AR列宽1.88
- 表.Columns("AS:AT").ColumnWidth = 7.5; //AS列AT列宽7.5
- 表.Columns("AU:BE").ColumnWidth = 1.88; //AU列至BE列宽1.88
- 表.Columns("BR").ColumnWidth = 9.86; //BF列宽9.86
- 区域=表.Range("A3: BF80");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 8; //字号
- 表.Range("AE5").Borders(8).LineStyle = 1; //上边8,AE5单元格边框
- 表.Range("AE5").Borders(8).Weight = 2;
- 表.Range("AE5").Borders(9).LineStyle = 1; //下边9
- 表.Range("AE5").Borders(9).Weight = 2;
- 表.Range("AE5").Borders(7).LineStyle = 1; //左边7
- 表.Range("AE5").Borders(7).Weight = 2;
- 表.Range("AE5").Borders(10).LineStyle= 1; //右边10
- 表.Range("AE5").Borders(10).Weight = 2;
- 表.Rows("4:5").RowHeight = 14; //4至6行高14
- 表.Rows(6).RowHeight = 44; //6行高44
- 表.Rows(7).RowHeight = 69; //7行高69
- 表.Rows("8:80").RowHeight = 14; //8至80行高14
- 表.PageSetup.CenterFooter = "第 &P 页,共 &N 页"; //中页脚
- 表.PageSetup.PrintTitleRows = "$1:$3"; //顶端标题行
- 表.PageSetup.Zoom = true;
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- //表.PageSetup.FitToPagesTall = false;
- }
复制代码
作者: zhoubin 时间: 5 天前
出错了,谢谢
作者: cutebe 时间: 4 天前
本帖最后由 cutebe 于 2026-2-6 09:40 编辑
//表.PageSetup.Zoom = true;
表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
表.PageSetup.FitToPagesTall = false;
}
作者: zhoubin 时间: 4 天前
抽空试了一下,还是报错
作者: cutebe 时间: 4 天前
看来还是不支持中文
- //设置表格式.JS
- var _xlsFile=WScript.Arguments(0); //拖入表格文件.xls/.xlsx
- var XlsApp = new ActiveXObject("Excel.Application"); //创建表格程序对象
- var _Books = XlsApp.Workbooks.open(_xlsFile); //打开表格文件
- var _Sheet000 = _Books.Worksheets("000");
- var _Sheet003 = _Books.Worksheets("003");
- XlsApp.Visible = 1; //显示表格程序
- _Sheet_PrtFromat1(_Sheet000);
- //_Sheet000.PrintPreview; //打印预览
- //_Sheet000.PrintOut; //打印
- _Sheet003.UsedRange.Replace("金额单位:?$","金额单位:万元"); //替换文本
- _Sheet_PrtFromat2(_Sheet003);
- //_Sheet003.PrintPreview; //打印预览
- //_Books.Save(); //保存
- //_Books.Close(0); //关闭
- //XlsApp.Quit(); //退出表格程序
- WScript.Quit(); //结束
- /* =====函数===== */
- function _Sheet_PrtFromat1(_Sht){
- var _fRange=_Sht.Range("A1:B17");
- _fRange.Interior.ColorIndex = 0; //无背景色-4142
- _Sht.PageSetup.PrintArea = _fRange.Address; //打印区域
- _Sht.PageSetup.Orientation = 1; //纵向打印
- _Sht.PageSetup.TopMargin = XlsApp.CentimetersToPoints(2.5); //页边距上
- _Sht.PageSetup.BottomMargin = XlsApp.CentimetersToPoints(2.5); //下
- _Sht.PageSetup.LeftMargin = XlsApp.CentimetersToPoints(1.4); //左
- _Sht.PageSetup.RightMargin = XlsApp.CentimetersToPoints(1.3); //右
- }
- function _Sheet_PrtFromat2(_Sht){
- var _fRange=_Sht.Range("A1:BF80");
- _fRange.Interior.ColorIndex = -4142; //无背景色
- _Sht.PageSetup.PrintArea = _fRange.Address; //打印区域
- _Sht.PageSetup.Orientation = 2; //横向打印
- _Sht.PageSetup.TopMargin = XlsApp.CentimetersToPoints(1.9); //上边距,页边距
- _Sht.PageSetup.BottomMargin = XlsApp.CentimetersToPoints(1.8); //下边距
- _Sht.PageSetup.LeftMargin = XlsApp.CentimetersToPoints(1); //左边距
- _Sht.PageSetup.RightMargin = XlsApp.CentimetersToPoints(0.4); //右边距
- _Sht.Columns("C:D").ColumnWidth = 1.88; //C列D列宽1.88
- _Sht.Columns("E:F").ColumnWidth = 7.5; //E列F列宽7.5
- _Sht.Columns("G:AR").ColumnWidth = 1.88; //G列至AR列宽1.88
- _Sht.Columns("AS:AT").ColumnWidth = 7.5; //AS列AT列宽7.5
- _Sht.Columns("AU:BE").ColumnWidth = 1.88; //AU列至BE列宽1.88
- _Sht.Columns("BR").ColumnWidth = 9.86; //BF列宽9.86
- _fRange=_Sht.Range("A3: BF80");
- _fRange.Font.Name = '宋体'; //字体
- _fRange.Font.Size = 8; //字号
- _Sht.Range("AE5").Borders(8).LineStyle = 1; //上边8,AE5单元格边框
- _Sht.Range("AE5").Borders(8).Weight = 2;
- _Sht.Range("AE5").Borders(9).LineStyle = 1; //下边9
- _Sht.Range("AE5").Borders(9).Weight = 2;
- _Sht.Range("AE5").Borders(7).LineStyle = 1; //左边7
- _Sht.Range("AE5").Borders(7).Weight = 2;
- _Sht.Range("AE5").Borders(10).LineStyle= 1; //右边10
- _Sht.Range("AE5").Borders(10).Weight = 2;
- _Sht.Rows("4:5").RowHeight = 14; //4至5行高14
- _Sht.Rows(6).RowHeight = 44; //6行高44
- _Sht.Rows(7).RowHeight = 69; //7行高69
- _Sht.Rows("8:80").RowHeight = 14; //8至80行高14
- _Sht.PageSetup.CenterFooter = "第 &P 页,共 &N 页"; //中页脚
- _Sht.PageSetup.PrintTitleRows = "$1:$3"; //顶端标题行
- _Sht.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- _Sht.PageSetup.FitToPagesTall = false;
- }
复制代码
作者: zhoubin 时间: 4 天前
还是不行呢
作者: cutebe 时间: 4 天前
- //设置表格式.JS
- var 表格文件=WScript.Arguments(0); //拖入表格文件.xls/.xlsx
- var 扩展名=表格文件.slice(表格文件.lastIndexOf('.'));
- if(扩展名.toLowerCase()==".xls" || 扩展名.toLowerCase()==".xlsx"){;}
- else{WScript.Echo("文件类型非 .xls/.xlsx\n退出!");WScript.Quit();}
- var 表应用 = new ActiveXObject("Excel.Application"); //创建表格程序对象
- var 工作簿 = 表应用.Workbooks.open(表格文件); //打开表格文件
- var 工作表000 = 工作簿.Worksheets("000");
- var 工作表003 = 工作簿.Worksheets("003");
- 表应用.Visible = 1; //显示表格程序
- 表格纵向打印格式(工作表000);
- //工作表000.PrintPreview; //打印预览
- //_Sheet000.PrintOut; //打印
- 工作表003.UsedRange.Replace("金额单位:?$","金额单位:万元"); //替换文本
- 表格横向打印格式(工作表003);
- 工作表003.PrintPreview; //打印预览
- //工作簿.Save(); //保存
- //工作簿.Close(0); //关闭
- //表应用.Quit(); //退出表格程序
- WScript.Quit(); //结束
- /* =====函数===== */
- function 表格纵向打印格式(表){
- var 区域=表.Range("A1:B17");
- 区域.Interior.ColorIndex = 0; //无背景色-4142
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //纵向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(2.5); //页边距上
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(2.5); //下
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.4); //左
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(1.3); //右
- }
- function 表格横向打印格式(表){
- var 区域=表.Range("A1:BF80");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 2; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(1.9); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(1.8); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(0.4); //右边距
- 表.Columns("C:D").ColumnWidth = 1.88; //C列D列宽1.88
- 表.Columns("E:F").ColumnWidth = 7.5; //E列F列宽7.5
- 表.Columns("G:AR").ColumnWidth = 1.88; //G列至AR列宽1.88
- 表.Columns("AS:AT").ColumnWidth = 7.5; //AS列AT列宽7.5
- 表.Columns("AU:BE").ColumnWidth = 1.88; //AU列至BE列宽1.88
- 表.Columns("BR").ColumnWidth = 9.86; //BF列宽9.86
- 区域=表.Range("A3: BF80");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 8; //字号
- 表.Range("AE5").Borders(8).LineStyle = 1; //上边8,AE5单元格边框
- 表.Range("AE5").Borders(8).Weight = 2;
- 表.Range("AE5").Borders(9).LineStyle = 1; //下边9
- 表.Range("AE5").Borders(9).Weight = 2;
- 表.Range("AE5").Borders(7).LineStyle = 1; //左边7
- 表.Range("AE5").Borders(7).Weight = 2;
- 表.Range("AE5").Borders(10).LineStyle= 1; //右边10
- 表.Range("AE5").Borders(10).Weight = 2;
- 表.Rows("4:5").RowHeight = 14; //4至5行高14
- 表.Rows(6).RowHeight = 44; //6行高44
- 表.Rows(7).RowHeight = 69; //7行高69
- 表.Rows("8:80").RowHeight = 14; //8至80行高14
- 表.PageSetup.CenterFooter = "第 &P 页,共 &N 页"; //中页脚
- 表.PageSetup.PrintTitleRows = "$1:$3"; //顶端标题行
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = false;
- }
复制代码
作者: ppll2030 时间: 4 天前
还没搞定?
楼主没有测试#31楼的vba代码吗?
层主修改过的版本,看了没什么问题,
应该可以解决问题了。
如果要求003以后的工作表也一样设置,就加一段从003开始循环设置后面的工作表代码
就可以完成十几张表的一键设置了。
作者: zhoubin 时间: 4 天前
这个基本可以,只是:第2个工作表:将所有列调整为一页,没起作用;谢谢您
作者: zhoubin 时间: 前天 20:57
把你的补充了一些代码,可以用了,谢谢您
- //设置表格式.JS
- var 表格文件=WScript.Arguments(0); //拖入表格文件.xls/.xlsx
- var 扩展名=表格文件.slice(表格文件.lastIndexOf('.'));
- if(扩展名.toLowerCase()==".xls" || 扩展名.toLowerCase()==".xlsx"){;}
- else{WScript.Echo("文件类型非 .xls/.xlsx\n退出!");WScript.Quit();}
- var 表应用 = new ActiveXObject("Excel.Application"); //创建表格程序对象
- var 工作簿 = 表应用.Workbooks.open(表格文件); //打开表格文件
- var 工作表000 = 工作簿.Worksheets("000");
- var 工作表003 = 工作簿.Worksheets("003");
- 表应用.Visible = 1; //显示表格程序
- 表格纵向打印格式(工作表000);
- //工作表000.PrintPreview; //打印预览
- //_Sheet000.PrintOut; //打印
- 工作表003.UsedRange.Replace("金额单位:?$","金额单位:万元"); //替换文本
- 表格横向打印格式(工作表003);
- 工作表003.PrintPreview; //打印预览
- //工作簿.Save(); //保存
- //工作簿.Close(0); //关闭
- //表应用.Quit(); //退出表格程序
- WScript.Quit(); //结束
- /* =====函数===== */
- function 表格纵向打印格式(表){
- var 区域=表.Range("A1:C17");
- 区域.Interior.ColorIndex = 0; //无背景色-4142
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //纵向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(2.5); //页边距上
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(2.5); //下
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.4); //左
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(1.3); //右
- }
- function 表格横向打印格式(表){
- var 区域=表.Range("A1:BF80");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 2; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(1.9); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(1.8); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(0.4); //右边距
- 表.Columns("C:D").ColumnWidth = 1.88; //C列D列宽1.88
- 表.Columns("E:F").ColumnWidth = 7.5; //E列F列宽7.5
- 表.Columns("G:AR").ColumnWidth = 1.88; //G列至AR列宽1.88
- 表.Columns("AS:AT").ColumnWidth = 7.5; //AS列AT列宽7.5
- 表.Columns("AU:BE").ColumnWidth = 1.88; //AU列至BE列宽1.88
- 表.Columns("BR").ColumnWidth = 9.86; //BF列宽9.86
- 区域=表.Range("A3: BF80");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 8; //字号
- 表.Range("AE5").Borders(8).LineStyle = 1; //上边8,AE5单元格边框
- 表.Range("AE5").Borders(8).Weight = 2;
- 表.Range("AE5").Borders(9).LineStyle = 1; //下边9
- 表.Range("AE5").Borders(9).Weight = 2;
- 表.Range("AE5").Borders(7).LineStyle = 1; //左边7
- 表.Range("AE5").Borders(7).Weight = 2;
- 表.Range("AE5").Borders(10).LineStyle= 1; //右边10
- 表.Range("AE5").Borders(10).Weight = 2;
- 表.Rows("4:5").RowHeight = 14; //4至5行高14
- 表.Rows(6).RowHeight = 44; //6行高44
- 表.Rows(7).RowHeight = 69; //7行高69
- 表.Rows("8:80").RowHeight = 14; //8至80行高14
- 表.PageSetup.CenterFooter = "第 &P 页,共 &N 页"; //中页脚
- 表.PageSetup.PrintTitleRows = "$1:$3"; //顶端标题行
- 表.PageSetup.Zoom = false; //打印时页面设置,必须设置为false,下面的页宽才有效
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = false;
-
- 表.Range("AE6:AH6").Borders.LineStyle = 1; //边框
- 表.Range("AI5:AP6").Borders.LineStyle = 1; //边框
- 表.Range("A75").VerticalAlignment = 1; //文字与单元格中心对齐
- }
复制代码
作者: zhoubin 时间: 前天 21:07
还有一个问题,就是再添加一些002工作表(含)以后的调整代码,002工作表(含)以后的工作表,并没有达到我的预期效果,具体看我修改您的
设置表格格式.7z
(2.11 KB, 下载次数: 6)
代码,不知哪里错了,麻烦您帮我看看,谢谢
作者: cutebe 时间: 昨天 16:33
函数做对应即可
- 表格003横向打印格式(工作表003);
- 表格002横向打印格式(工作表002);
- 表格100纵向打印格式(工作表100);
- 表格101纵向打印格式(工作表101);
- 表格102横向打印格式(工作表102);
- 表格104横向打印格式(工作表104);
- 表格105横向打印格式(工作表105);
- 表格106横向打印格式(工作表106);
- 表格107横向打印格式(工作表107);
- 表格108横向打印格式(工作表108);
- 表格109横向打印格式(工作表109);
- 表格900横向打印格式(工作表900);
- 表格103横向打印格式(工作表103);
- 表格001横向打印格式(工作表001);
复制代码
完整如下:- //设置表格式.JS
- var 表格文件=WScript.Arguments(0); //拖入表格文件.xls/.xlsx
- var 扩展名=表格文件.slice(表格文件.lastIndexOf('.'));
- if(扩展名.toLowerCase()==".xls" || 扩展名.toLowerCase()==".xlsx"){;}
- else{WScript.Echo("文件类型非 .xls/.xlsx\n退出!");WScript.Quit();}
- var 表应用 = new ActiveXObject("Excel.Application"); //创建表格程序对象
- var 工作簿 = 表应用.Workbooks.open(表格文件); //打开表格文件
- var 工作表000 = 工作簿.Worksheets("000");
- var 工作表003 = 工作簿.Worksheets("003");
- var 工作表002 = 工作簿.Worksheets("002");
- var 工作表100 = 工作簿.Worksheets("100");
- var 工作表101 = 工作簿.Worksheets("101");
- var 工作表102 = 工作簿.Worksheets("102");
- var 工作表104 = 工作簿.Worksheets("104");
- var 工作表105 = 工作簿.Worksheets("105");
- var 工作表106 = 工作簿.Worksheets("106");
- var 工作表107 = 工作簿.Worksheets("107");
- var 工作表108 = 工作簿.Worksheets("108");
- var 工作表109 = 工作簿.Worksheets("109");
- var 工作表900 = 工作簿.Worksheets("900");
- var 工作表103 = 工作簿.Worksheets("103");
- var 工作表001 = 工作簿.Worksheets("001");
- 表应用.Visible = 1; //显示表格程序
- 表格纵向打印格式(工作表000);
- //工作表000.PrintPreview; //打印预览
- //工作表000.PrintOut; //打印
- 工作表003.UsedRange.Replace("金额单位:?$","金额单位:万元"); //替换文本
- 表格003横向打印格式(工作表003);
- //工作表003.PrintPreview; //打印预览
- 工作表002.UsedRange.Replace("金额单位:?$","金额单位:万元"); //替换文本
- 表格002横向打印格式(工作表002);
- 表格100纵向打印格式(工作表100);
- 工作表101.UsedRange.Replace("金额单位:?$","金额单位:万元"); //替换文本
- 表格101纵向打印格式(工作表101);
- 表格102横向打印格式(工作表102);
- 表格104横向打印格式(工作表104);
- 表格105横向打印格式(工作表105);
- 表格106横向打印格式(工作表106);
- 表格107横向打印格式(工作表107);
- 表格108横向打印格式(工作表108);
- 表格109横向打印格式(工作表109);
- 表格900横向打印格式(工作表900);
- 表格103横向打印格式(工作表103);
- 表格001横向打印格式(工作表001);
- //工作簿.Save(); //保存
- //工作簿.Close(0); //关闭
- //表应用.Quit(); //退出表格程序
- WScript.Quit(); //结束
- /* =====函数===== */
- //000表
- function 表格000纵向打印格式(表){
- var 区域=表.Range("A1:C17");
- 区域.Interior.ColorIndex = 0; //无背景色-4142
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //纵向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(2.5); //页边距上
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(2.5); //下
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.4); //左
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(1.3); //右
- }
- //003表
- function 表格003横向打印格式(表){
- var 区域=表.Range("A1:BF80");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 2; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(1.9); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(1.8); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(0.4); //右边距
- 表.Columns("C:D").ColumnWidth = 1.88; //C列D列宽1.88
- 表.Columns("E:F").ColumnWidth = 7.5; //E列F列宽7.5
- 表.Columns("G:AR").ColumnWidth = 1.88; //G列至AR列宽1.88
- 表.Columns("AS:AT").ColumnWidth = 7.5; //AS列AT列宽7.5
- 表.Columns("AU:BE").ColumnWidth = 1.88; //AU列至BE列宽1.88
- 表.Columns("BR").ColumnWidth = 9.86; //BF列宽9.86
- 区域=表.Range("A3: BF80");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 8; //字号
- 表.Range("AE5").Borders(8).LineStyle = 1; //上边8,AE5单元格边框
- 表.Range("AE5").Borders(8).Weight = 2;
- 表.Range("AE5").Borders(9).LineStyle = 1; //下边9
- 表.Range("AE5").Borders(9).Weight = 2;
- 表.Range("AE5").Borders(7).LineStyle = 1; //左边7
- 表.Range("AE5").Borders(7).Weight = 2;
- 表.Range("AE5").Borders(10).LineStyle= 1; //右边10
- 表.Range("AE5").Borders(10).Weight = 2;
- 表.Rows("1").RowHeight = 12.75; //1行高12.75
- 表.Rows("2").RowHeight = 18.75; //2行高18.75
- 表.Rows("3").RowHeight = 43.5; //3行高43.5
- 表.Rows("4:5").RowHeight = 14; //4至5行高14
- 表.Rows(6).RowHeight = 44; //6行高44
- 表.Rows(7).RowHeight = 69; //7行高69
- 表.Rows("8:80").RowHeight = 14; //8至80行高14
- 表.PageSetup.CenterFooter = "第 &P 页,共 &N 页"; //中页脚
- 表.PageSetup.PrintTitleRows = "$1:$3"; //顶端标题行
- 表.PageSetup.Zoom = false; //打印时页面设置,必须设置为false,下面的页宽才有效
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = false;
-
- 表.Range("AE6:AH6").Borders.LineStyle = 1; //边框
- 表.Range("AI5:AP6").Borders.LineStyle = 1; //边框
- 表.Range("A75").VerticalAlignment = 1; //文字与单元格中心对齐
- }
- //002表
- function 表格002横向打印格式(表){
- var 区域=表.Range("A1:F75");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 2; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(1.4); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(0.8); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(0.9); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(0.7); //右边距
- 表.Columns("F").ColumnWidth = 82.29; //F列宽82.29
- 区域=表.Range("A3: F75");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 8; //字号
- 表.Rows("1").RowHeight = 12; //1行高12
- 表.Rows("2").RowHeight = 18.75; //2行高18.75
- 表.Rows("3").RowHeight = 30.75; //3行高30.75
- 表.Rows("4:75").RowHeight = 14; //4至75行高14
- 表.Rows(69).RowHeight = 27; //69行高44
- 表.PageSetup.CenterFooter = "第 &P 页,共 &N 页"; //中页脚
- 表.PageSetup.PrintTitleRows = "$1:$3"; //顶端标题行
- 表.PageSetup.Zoom = false; //打印时页面设置,必须设置为false,下面的页宽才有效
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = false;
- }
- //100表
- function 表格100纵向打印格式(表){
- var 区域=表.Range("A1:B19");
- 区域.Interior.ColorIndex = 0; //无背景色-4142
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //纵向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(2.1); //页边距上
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(2); //下
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.4); //左
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(1.2); //右
- }
- //101表
- function 表格101横向打印格式(表){
- var 区域=表.Range("A1:H79");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(1.2); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(0.8); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.1); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(0.6); //右边距
- 表.Columns("C:D").ColumnWidth = 15; //C列D列宽15
- 表.Columns("G:H").ColumnWidth = 15; //G列H列宽15
- 表.Columns("F").ColumnWidth = 7; //F列宽7
- 区域=表.Range("A4: H79");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 8; //字号
- 表.Rows("1").RowHeight = 12; //1行高12
- 表.Rows("2").RowHeight = 22.5; //2行高22.5
- 表.Rows("3").RowHeight = 30.75; //3行高30.75
- 表.Rows("4:79").RowHeight = 18; //4至79行高18
- 表.PageSetup.PrintTitleRows = "$1:$3"; //顶端标题行
- 表.PageSetup.Zoom = false; //打印时页面设置,必须设置为false,下面的页宽才有效
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = false;
- }
- //102表
- function 表格102横向打印格式(表){
- var 区域=表.Range("A1:H49");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(1); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(0.7); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.3); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(1.2); //右边距
- 表.Columns("C:D").ColumnWidth = 15; //C列D列宽15
- 表.Columns("G:H").ColumnWidth = 15; //G列H列宽15
- 表.Columns("F").ColumnWidth = 7; //F列宽7
- 区域=表.Range("A4: H79");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 8; //字号
- 表.Rows("1:2").RowHeight = 12.75; //1至2行高12.75
- 表.Rows("3").RowHeight = 19.5; //3行高19.5
- 表.Rows("4").RowHeight = 30; //4行高30
- 表.Rows("5:47").RowHeight = 21.75; //5至47行高21.75
- 表.PageSetup.PrintTitleRows = "$1:$3"; //顶端标题行
- 表.PageSetup.Zoom = false; //打印时页面设置,必须设置为false,下面的页宽才有效
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = false;
- }
- //104表
- function 表格104横向打印格式(表){
- var 区域=表.Range("A1:P28");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(2.5); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(2.5); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.3); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(1); //右边距
- 表.Columns("B").ColumnWidth = 4.29; //B列宽4.29
- 区域=表.Range("A4: P28");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 10; //字号
- 表.Rows("1:2").RowHeight = 12.75; //1至2行高12.75
- 表.Rows("3").RowHeight = 19.5; //3行高19.5
- 表.Rows("4").RowHeight = 30; //4行高30
- 表.Rows("5:28").RowHeight = 30; //5至28行高30
- 表.PageSetup.PrintTitleRows = "$1:$6"; //顶端标题行
- 表.PageSetup.Zoom = false; //打印时页面设置,必须设置为false,下面的页宽才有效
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = false;
- }
- //105表
- function 表格105横向打印格式(表){
- var 区域=表.Range("A1:J29");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(1.7); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(1.2); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.9); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(1.9); //右边距
- 区域=表.Range("A4: J29");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 10; //字号
- 表.Rows("1:2").RowHeight = 12.75; //1至2行高12.75
- 表.Rows("3").RowHeight = 29.25; //3行高29.25
- 表.Rows("4").RowHeight = 63.75; //4行高63.75
- 表.Rows("5:29").RowHeight = 30; //5至29行高30
- 表.PageSetup.PrintTitleRows = "$1:$6"; //顶端标题行
- 表.PageSetup.Zoom = false; //打印时页面设置,必须设置为false,下面的页宽才有效
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = false;
- }
- //106表
- function 表格106横向打印格式(表){
- var 区域=表.Range("A1:H34");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(1.9); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(1.9); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(2.8); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(1.9); //右边距
- 区域=表.Range("A4: H34");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 10; //字号
- 表.Rows("1:2").RowHeight = 12.75; //1至2行高12.75
- 表.Rows("3").RowHeight = 29.25; //3行高29.25
- 表.Rows("4").RowHeight = 63.75; //4行高63.75
- 表.Rows("5:34").RowHeight = 25.5; //5至34行高25.5
- 表.PageSetup.PrintTitleRows = "$1:$5"; //顶端标题行
- 表.PageSetup.Zoom = false; //打印时页面设置,必须设置为false,下面的页宽才有效
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = false;
- }
- //107表
- function 表格107横向打印格式(表){
- var 区域=表.Range("A1:D58");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(2.1); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(2.1); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.3); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(0.4); //右边距
- 区域=表.Range("A4: D58");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 10; //字号
- 表.Rows("1:2").RowHeight = 12.75; //1至2行高12.75
- 表.Rows("3").RowHeight = 29.25; //3行高29.25
- 表.Rows("4").RowHeight = 40.5; //4行高40.5
- 表.Rows("5:58").RowHeight = 19; //5至58行高19
- 表.PageSetup.PrintTitleRows = "$1:$5"; //顶端标题行
- 表.PageSetup.Zoom = false; //打印时页面设置,必须设置为false,下面的页宽才有效
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = false;
- }
- //108表
- function 表格108横向打印格式(表){
- var 区域=表.Range("A1:L30");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(2.1); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(2.1); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.2); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(0.9); //右边距
- 区域=表.Range("A4: L30");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 10; //字号
- 表.Rows("1:2").RowHeight = 12.75; //1至2行高12.75
- 表.Rows("3").RowHeight = 29.25; //3行高29.25
- 表.Rows("4").RowHeight = 40.5; //4行高40.5
- 表.Rows("5").RowHeight = 58.5; //5行高58.5
- 表.Rows("6:30").RowHeight = 25.5; //6至30行高25.5
- 表.PageSetup.PrintTitleRows = "$1:$5"; //顶端标题行
- 表.PageSetup.Zoom = false; //打印时页面设置,必须设置为false,下面的页宽才有效
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = false;
- }
- //109表
- function 表格109横向打印格式(表){
- var 区域=表.Range("A1:H27");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(2.5); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(2.5); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.4); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(1.3); //右边距
- 区域=表.Range("A4: H27");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 10; //字号
- 表.Rows("1:2").RowHeight = 12.75; //1至2行高12.75
- 表.Rows("3").RowHeight = 29.25; //3行高29.25
- 表.Rows("4").RowHeight = 40.5; //4行高40.5
- 表.Rows("5:27").RowHeight = 25.5; //5至27行高25.5
- 表.PageSetup.PrintTitleRows = "$1:$5"; //顶端标题行
- 表.PageSetup.Zoom = false; //打印时页面设置,必须设置为false,下面的页宽才有效
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = false;
- }
- //900表
- function 表格900横向打印格式(表){
- var 区域=表.Range("A1:D39");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(1.6); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(1); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.9); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(1.9); //右边距
- 区域=表.Range("A4: D39");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 10; //字号
- 表.Rows("1:2").RowHeight = 12.75; //1至2行高12.75
- 表.Rows("3").RowHeight = 29.25; //3行高29.25
- 表.Rows("4").RowHeight = 40.5; //4行高40.5
- 表.Rows("5:27").RowHeight = 25.5; //5至27行高25.5
- 表.PageSetup.PrintTitleRows = "$1:$5"; //顶端标题行
- 表.PageSetup.Zoom = false; //打印时页面设置,必须设置为false,下面的页宽才有效
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = false;
- }
- //103表
- function 表格103横向打印格式(表){
- var 区域=表.Range("A1:AD44");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(1.9); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(1.6); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.9); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(1.9); //右边距
- 区域=表.Range("A4: AD44");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 10; //字号
- 表.Rows("1:2").RowHeight = 12.75; //1至2行高12.75
- 表.Rows("3").RowHeight = 29.25; //3行高29.25
- 表.Rows("4").RowHeight = 40.5; //4行高40.5
- 表.Rows("5:42").RowHeight = 25.5; //5至42行高25.5
- 表.PageSetup.PrintTitleRows = "$1:$9"; //顶端标题行
- 表.PageSetup.Zoom = false; //打印时页面设置,必须设置为false,下面的页宽才有效
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = false;
- }
- //001表
- function 表格001横向打印格式(表){
- var 区域=表.Range("A1:AF61");
- 区域.Interior.ColorIndex = -4142; //无背景色
- 表.PageSetup.PrintArea = 区域.Address; //打印区域
- 表.PageSetup.Orientation = 1; //横向打印
- 表.PageSetup.TopMargin = 表应用.CentimetersToPoints(1.9); //上边距,页边距
- 表.PageSetup.BottomMargin = 表应用.CentimetersToPoints(1.7); //下边距
- 表.PageSetup.LeftMargin = 表应用.CentimetersToPoints(1.9); //左边距
- 表.PageSetup.RightMargin = 表应用.CentimetersToPoints(1.9); //右边距
- 区域=表.Range("A4: AF61");
- 区域.Font.Name = '宋体'; //字体
- 区域.Font.Size = 10; //字号
- 表.Rows("1:2").RowHeight = 12.75; //1至2行高12.75
- 表.Rows("3").RowHeight = 29.25; //3行高29.25
- 表.Rows("4").RowHeight = 40.5; //4行高40.5
- 表.Rows("5:61").RowHeight = 25.5; //5至61行高25.5
- 表.PageSetup.CenterFooter = "第 &P 页,共 &N 页"; //中页脚
- 表.PageSetup.PrintTitleRows = "$1:$8"; //顶端标题行
- 表.PageSetup.Zoom = false; //打印时页面设置,必须设置为false,下面的页宽才有效
- 表.PageSetup.FitToPagesWide = 1; //缩放:将所有列打印在一页
- 表.PageSetup.FitToPagesTall = false;
- }
复制代码
| 欢迎光临 无忧启动论坛 (http://wuyou.net/) |
Powered by Discuz! X3.3 |