无忧启动论坛

标题: WPS如何通过复选框来选择和打印指定工作表? [打印本页]

作者: 邪恶海盗    时间: 2022-1-27 20:10
标题: WPS如何通过复选框来选择和打印指定工作表?
如下图,假如是这样,想要打印哪个或者多个工作表只要勾选然后点打印按钮就可以打印,如何实现???


作者: l3429900    时间: 2022-1-27 21:09
office 可以宏来实现,wps就不知道了
作者: 邪恶海盗    时间: 2022-1-27 21:38
l3429900 发表于 2022-1-27 21:09
office 可以宏来实现,wps就不知道了

WPS也有宏,只是不知道怎么用...
作者: houxiren    时间: 2022-1-28 00:02
试下这个

打印.zip

12.82 KB, 下载次数: 23, 下载积分: 无忧币 -2


作者: flyingdancex    时间: 2022-1-28 07:49
嗯,wps一直用着微软的VBA
作者: lsc202    时间: 2022-1-28 10:27
楼主可以去excelhome问问,这里搞excel的大牛多多
作者: 邪恶海盗    时间: 2022-1-28 11:08
houxiren 发表于 2022-1-28 00:02
试下这个

试了报错,另外这个代码好像是只能固定工作表名为sheet+数字,假如是中文或者其它自定义的名称呢?

作者: 邪恶海盗    时间: 2022-1-28 11:21
lsc202 发表于 2022-1-28 10:27
楼主可以去excelhome问问,这里搞excel的大牛多多

要手机号注册,抵制...
作者: lsc202    时间: 2022-1-28 16:40
邪恶海盗 发表于 2022-1-28 11:21
要手机号注册,抵制...

现在也要手机号了吗,以前是不要的,我现在也没有填手机号呢
作者: houxiren    时间: 2022-1-28 17:40
增加一行代码试下
Sub 打印()
    Dim i As Integer
    For i = 1 To 3
作者: houxiren    时间: 2022-1-28 17:51
忘了哪个论坛了,置顶贴里有一贴叫提问的艺术,建议你搜来看看。(我自己也请教过坛友,受过帮助。)
1,你的系统,软件环境是怎样的?
2,如果有中文或其他名称的要求,一可以尝试自己修改一下代码,二来当初提问时把你自己想要的模板弄充分点,方便帮你的人直接在上面写代码再回传给你。
3,人家弄一份模板给你,不管是否有问题(以及这个问题的原因是否是你自身的软件环境),先说声感谢,再继续问会好一些。
说这些是希望坛里的提问和回复的氛围好一些,共建佳坛,人人有责嘛。
作者: 邪恶海盗    时间: 2022-1-28 18:18
houxiren 发表于 2022-1-28 17:40
增加一行代码试下
Sub 打印()
    Dim i As Integer

加了一行,按钮点了没反应


作者: 邪恶海盗    时间: 2022-1-28 18:22
houxiren 发表于 2022-1-28 17:51
忘了哪个论坛了,置顶贴里有一贴叫提问的艺术,建议你搜来看看。(我自己也请教过坛友,受过帮助。)
1, ...

1. XP WPS2009
2. 看不懂代码不会改,模板不充分属失误
3. 我提问时一向没显示出什么不尊重或者恶意的地方,如果由此对你本人或者其他人造成误解或困扰,在此表示歉意
作者: holley2008    时间: 2022-1-28 18:51
本帖最后由 holley2008 于 2022-1-28 19:02 编辑

你好像用的是activex控件复选框,但上面的代码貌似是表单复选框用的。感觉在按钮事件中判断这三个checkbox1.value为true则对对应工作表 ("sheet1").PrintOut打印即可

作者: 邪恶海盗    时间: 2022-1-28 20:06
holley2008 发表于 2022-1-28 18:51
你好像用的是activex控件复选框,但上面的代码貌似是表单复选框用的。感觉在按钮事件中判断这三个checkbox1 ...

关键是不知道怎么写,完全看不懂这种代码...
作者: nttwqz    时间: 2022-1-28 20:23
邪恶海盗 发表于 2022-1-28 20:06
关键是不知道怎么写,完全看不懂这种代码...

学一下,变成大牛!
作者: 邪恶海盗    时间: 2022-1-28 20:51
nttwqz 发表于 2022-1-28 20:23
学一下,变成大牛!

还不如杀了我吧...
作者: shugint    时间: 2022-1-28 21:19
楼主可以试试录制一段相关操作的宏,进去看看里面的代码,再改改代码,估计就能搞出来了。
作者: houxiren    时间: 2022-1-29 12:38
WPS 2009 太老旧了。我没法复现环境,无法猜测是什么原因。帮不上你了。
作者: 邪恶海盗    时间: 2022-1-29 13:34
上网搜罗拼凑了一番,貌似解决问题了,不过选择打印机和打印份数怎么控制还不知道

Sub 打印勾选工作表()
    Dim cell As Range
    For Each cell In Sheet2.Range("g6:g8")
    If cell.Offset(0, 1).Value = True Then
     Sheets(cell.Value).PrintOut
    End If
    Next cell
End Sub


作者: holley2008    时间: 2022-1-29 18:49
邪恶海盗 发表于 2022-1-29 13:34
上网搜罗拼凑了一番,貌似解决问题了,不过选择打印机和打印份数怎么控制还不知道

Sub 打印勾选工作表()

printout后面可以加参数,参考:https://docs.microsoft.com/zh-cn ... cel.sheets.printout
作者: holley2008    时间: 2022-1-29 18:49
本帖最后由 holley2008 于 2022-1-29 18:50 编辑

什么鬼,重复了
作者: 邪恶海盗    时间: 2022-5-26 14:40
Sub 打印选择工作表()
    Dim cell As Range
    For Each cell In Worksheets("表2").Range("G6:G8")
    If cell.Offset(0, 1).Value = 1 Then
     Sheets(cell.Value).PrintOut
    End If
    Next cell
End Sub

更新了一下,感觉勾选的不方便,改成0和1为是否打印标志了,另一个更新是将控件所在的表设置成调用的,可以直接输表名了








欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3