如何用AppScript触发Sheet1!B1:I34指定范围的打印窗口?
一键打印指定电子表格范围的脚本实现
没问题,完全可以通过脚本实现一键触发指定范围的打印窗口,以下是针对主流电子表格工具的具体方案:
Google Sheets(Apps Script)
- 打开目标表格,点击顶部菜单「扩展程序」>「Apps脚本」
- 清空编辑器里的默认代码,粘贴以下脚本:
function printSpecificRange() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); const printRange = sheet.getRange("B1:I34"); // 设置打印参数 const printSpec = SpreadsheetApp.newPrintSpecification() .setRange(printRange) .setUsePageBreaks(true) .setOrientation(SpreadsheetApp.PrintOrientation.PORTRAIT) // 可改为LANDSCAPE切换横向 .build(); // 触发打印窗口 sheet.print(printSpec); }
- 点击编辑器顶部的「保存」按钮,给脚本命名(比如
PrintSpecificRange) - 返回表格后,你可以:
- 点击顶部菜单「扩展程序」>「Apps脚本」>「PrintSpecificRange」直接运行
- 添加自定义菜单或插入绘图按钮绑定该脚本,实现一键触发
Excel(VBA)
如果你使用的是Excel,可通过VBA宏实现:
- 打开目标Excel文件,按下
Alt + F11打开VBA编辑器 - 右键点击左侧项目列表里的当前工作簿,选择「插入」>「模块」
- 在模块窗口粘贴以下代码:
Sub PrintSpecificRange() Dim targetSheet As Worksheet Set targetSheet = ThisWorkbook.Worksheets("Sheet1") ' 设置打印区域为指定范围 targetSheet.PageSetup.PrintArea = "B1:I34" ' 触发打印窗口(Preview设为True弹出预览,改为False则直接打印) targetSheet.PrintOut Preview:=True End Sub
- 按下
Ctrl + S保存,返回Excel后:- 按下
Alt + F8,选择PrintSpecificRange并点击「运行」 - 开发者选项里添加按钮,将宏绑定到按钮上,点击即可触发
- 按下
内容的提问来源于stack exchange,提问作者Anushka
相关产品推荐
相关产品推荐

