用Excel和VBA轻松实现桌签批量打印
一、 准备工作
⒈启动Excel2003(其他单元格也可以),执行“工具→自定义”命令,打开“自定义”对话框。在“命令”标签中,选中“类别”下面的“工具”选项,然后在“命令”下面找到“照相机”选项,并将它拖到工具栏合适位置上。
⒉在Sheet1工作表中(最好将文档取名保存一下),仿照图1的样式,在B列相应的单元格中输入需要打印桌签的名称,并在A1中输入一个名称。
图1
⒊在C1单元格(也可以是其他单元格)中输入公式:=COUNTA(B:B),用于统计所要打印的桌签数目。
⒋选中A1单元格,设置字符居中对齐,并设置一种适合用作桌签的字体(如魏碑体)。
二、 制作桌签
⒈选中A1单元格,单击一下工具栏上的“照相机”按钮,再切换到“Sheet2”工作表中,单击一下鼠标,即可得到一张A1单元格的照片(图2)。
图2
小贴士:这种照片不同于普通图片,它与A1单元格中的数据建立了链接,随A1单元格中的字符改变而改变。
⒉选中“照片”,执行“格式→图片”命令,打开“设置图片格式”对话框,在“颜色与线条”标签中,将“线条”设置为“无线条颜色”,点击“确定”返回。
⒊根据桌签底座的尺寸,将“照片”调整至合适大小,并将它定位到页面合适位置上。
⒋将上述“照片”复制一份,在“设置图片格式”对话框的“大小”标签中,将它“旋转→180°”,并将它定位到页面合适位置上(效果参见图2)。
三、 编制宏程序
⒈按下“Alt+F11”组合键,打开“Visual Basic编辑器”(图3),在右侧的“工程资源管理器”区域中,选中“VBAProject(桌签.xls)”选项,执行“插入→模块”命令,插入一个模块(模块1)。
图4
⒉双击“模块1”,展开右侧的代码编辑区,将下述代码输入其中:
Sub 桌签() '建立一个名称为“桌签”的宏。
For i = 1 To Sheet1.Cells(1, 3) '设立一个循环:开始值为1,结束值为Sheet1工作表C3单元格内的值(即桌签数目)。
Sheet1.Select '选中Sheet1工作表。
Cells(1, 1).Value = Cells(i, 2).Value '依次将B列的桌签字符调入A1单元格中。
Columns("A:A").Select '选中A列。
Selection.Columns.AutoFit '将A列设置为“最合适的列宽”,这样让字符不同的桌签自动适应“照片”的大小。
Sheet2.Select '选中Sheet2工作表。
ActiveWindow.SelectedSheets.PrintOut'执行一下打印操作,打印出一张桌签。
Next '进入下一个循环。
Sheet1.Select '桌签全部打印完成后,选中Sheet1工作表。
Range("B1").Select '选中B1单元格,等待下一次修改字符。
ActiveWorkbook.Save '保存当前工作簿文档。
Application.Quit '退出Excel。
End Sub '宏的结束符号。
小贴士:①上述代码中英文单引号及其后面的字符是对代码的注释,可以不输入。②宏的结束符号上面的4行代码不输入不影响桌签的打印。
⒊输入完成后,关闭“Visual Basic编辑器”窗口。
四、添加按钮
⒈切换到Sheet1工作表中,执行“视图→工具栏→窗体”命令,展开“窗体”工具栏,单击工具栏上的“按钮”按钮,在工作表中拖拉出一个按钮,此时系统弹出“指定宏”对话框(图4),选中刚才编制的“桌签”宏,确定返回。
图5
2.将按钮上的文字修改为“打印桌签”,再调整好大小,并定位在工作表合适位置上(参见图1)。
以后需要打印桌签时,只要将相应的字符输入到B列下面的单元格中,然后按下“打印桌签”按钮,就一切OK了。
(责任编辑:admin)