excel批量打印,数据递增
在excel中使用开发工具内的宏进行快捷打印。
一.、可以使用vb语言编程操作。
二、.使用js环境的宏进行操作(在wps中才有js环境,excel只有vb语言)
现演示js环境宏的演示。
1、选择开发工具,点击录制宏,并命名创建。
2、创建之后进入表格进行操作,宏代码窗口会记录开启录制后的所有操作,转换为js代码格式。
3、根据代码,修改你需要改变的变量。
注意事项
1、js环境只支持es5不支持es6。
2、需要批量打印,需要在录制宏时进行一次打印操作。
(这样能够快速将答应操作的js代码显示出来,有能力可以不进行录制,直接新建宏,使用js代码编写操作。使用录制的方式会比较快速。)
3、可能会遇到使用for循环报错,可以改为使用foreach。
具体代码如下
实现每页日期递增,批量打印。
```javascript
/**
* Macro1 Macro
* 宏由 lenovo 录制,时间: 2023/06/21
*/
function Macro1()
{
var aa=
[
'2022/5/6', '2022/5/13', '2022/5/20',
'2022/5/27', '2022/6/3', '2022/6/10',
'2022/6/17', '2022/6/24', '2022/7/1',
'2022/7/8', '2022/7/15', '2022/7/22',
'2022/7/29', '2022/8/5', '2022/8/12',
'2022/8/19', '2022/8/26', '2022/9/2',
'2022/9/9', '2022/9/16', '2022/9/23',
'2022/9/30', '2022/10/7', '2022/10/14',
'2022/10/21'
]
aa.forEach(function(item) {
Selection.Formula = item;
Range("A3").Select();
ActiveWindow.ScrollRow = 13;
Selection.AutoFill(Range("A3:A30"), xlFillCopy);
Range("A3:A30").Select();
Application.EnableEvents=false
ActiveWindow.SelectedSheets.PrintOut(1,1,1,false,"ApeosPort 3560", false,true,undefined,false);
Application.EnableEvents=true
Application.WindowState = xlMinimized;
Application.Left = -32000;
Application.Top = -31955;
ActiveWindow.ScrollRow = 1;
Application.Left = 0;
Application.Top = 45;
Application.WindowState = xlMaximized;
});
}