楼主 rongjun |
Q: 如何批量设置不打印所有文本框? A: 采用如下代码:
如何批量设置不打印所有文本框?.rar |
2楼 biaotiger1 |
我没装打印机,无法预览
|
3楼 海绵宝宝 |
Sub kk() Dim Sh As Shape For Each Sh In ActiveSheet.Shapes If Sh.Name Like "*TextBox*" Then Sh.Select Selection.PrintObject = msoFalse End If Next Sh ActiveWindow.SelectedSheets.PrintPreview End Sub 但是打印预览里面还是出现文本框了啊,打印出来还是有文本框啊,请继续探讨解决此问题,谢谢 |
4楼 海绵宝宝 |
谢谢荣版,您的代码是正确的,第二个代码好像测试不成功,十分感谢您的热心回答 |
5楼 biaotiger1 |
我用rongjun版主的文件测试,以上二代码都好用啊。 另外,昨天在家里没装打印机的代码也好用,如下:
msoTrue 变成 msoFalse |
6楼 海绵宝宝 |
标兄的代码也可以,哇塞,收获不小,学习了 Sub ss() Dim Sh As Shape For Each Sh In ActiveSheet.Shapes If Sh.Name Like "*TextBox*" Then T.ControlFormat.PrintObject = msoFalse End If Next Sh ActiveWindow.SelectedSheets.PrintPreview End Sub 小弟发段三位高手的综合体版本,哈哈哈哈 见笑了 |
7楼 ljh29206 |
我想不打印worksheet里面的所有文本框的内容! 我用上边的代码 放到我的文件里! 但操作不了 能指点下么! |
8楼 海绵宝宝 |
怎么会 操作不了,我们都能成功的,你实在不行就把您的附件上传上来 |
9楼 ljh29206 |
我的打印区域固定在[F3:H3] 然后放置1个文本在上边 在this work book 里面放入下边代码 Private Sub Workbook_Open() Dim T As Shape For Each T In ActiveSheet.Shapes If T.Type = 17 Then T.Select Selection.PrintObject = msoFalse End If Next End Sub 但是却打印不了! 文本框不打印.rar |
10楼 海绵宝宝 |
看看这是不是您要的效果啊 文本框不打印.rar |
11楼 ljh29206 |
多谢老师,我初学不懂 连该个数字都不会,惭愧了! 还想问一下 T.Type = 17 代表什么东西呢 为什么改成T.Type = 1 就能用了呢? |
12楼 海绵宝宝 |
这个TYPE值是根据您的对象来设置的,17代表文本框,而1代表自选图形,您文件里面用的是自选图形,所以要做相应的代码变动 |