ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: yqdfd

[求助] (( 一直未解决))如何禁止修改页眉页脚!

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-8-23 10:48 | 显示全部楼层
CommandBars.DisableCustomize = True '禁用所有自定义,XP及以上,包括双击工具栏等
.CommandBars("toolbar list").Enabled = True  '右击禁用

难道就没 有一句代码可以禁用自 定义页眉嘛?

TA的精华主题

TA的得分主题

发表于 2009-8-23 11:41 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
既然要这样,那就来狠的!

一、插入一个标准模块,粘贴如下代码
      '撰写:老朽
      '网址:http://Club.ExcelHome.net
      '日期:2009-8-23 上午 11:40:25

Sub 设置所有打印相关功能(Allow As Boolean )
    With
Application
        For
Each cb In .CommandBars(1).Controls(3).Controls    '视图菜单下的页眉和页脚
            If cb.Caption Like "页眉和页脚*" Then cb.Enabled = Allow: Exit For
        Next
        For Each cb In .CommandBars(1).Controls(1).Controls    '文件菜单下的相关打印功能
            If cb.Caption Like "页面设置*" Or cb.Caption Like "打印预览*" Or cb.Caption Like "打印(*" Then cb.Enabled = Allow
            '打印区域设置没有禁用

            '如果要一并禁用的话就用这一句代替上面一句: If cb.Caption Like "页面设置*" Or cb.Caption Like "打印*"  Then cb.Enabled = Allow
        Next
        For Each cb In .CommandBars("Standard").Controls    '工具栏中的打印、打印预览按钮设置
            If cb.Caption Like "打印*" Then cb.Enabled = Allow
        Next

        .CommandBars.DisableCustomize = Not Allow  '禁用所有自定义,包括双击工具栏等
        .CommandBars("Toolbar list").Enabled = Not Allow  '右击禁用
    End With
End Sub

      '撰写:老朽
      '网址:http://Club.ExcelHome.net
      '日期:2009-8-23 上午 11:40:25

Sub 人工调用打印()
    ActiveSheet.PrintOut
End Sub

TA的精华主题

TA的得分主题

发表于 2009-8-23 11:42 | 显示全部楼层
二、在THISKWORKBOOK的代码区,粘贴如下代码:
      '撰写:老朽
      '网址:http://Club.ExcelHome.net
      '日期:2009-8-23 上午 11:36:08

Private Sub Workbook_BeforeClose(Cancel As Boolean )
    Call
设置所有打印相关功能(True)
End
Sub
      '撰写:老朽
      '网址:http://Club.ExcelHome.net
      '日期:2009-8-23 上午 11:36:09

Private Sub Workbook_Open()
    Call
设置所有打印相关功能(False)
End Sub

TA的精华主题

TA的得分主题

发表于 2009-8-23 11:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
三、在你需要打印的工作表中,只能通过按钮来调用如下宏

  1. Sub 人工调用打印()
  2.     ActiveSheet.PrintOut
  3. End Sub
复制代码
即 Call 人工调用打印

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-8-23 11:51 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-8-23 12:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
也可以这样来打造带参数的打印宏
      '撰写:老朽
      '网址:http://Club.ExcelHome.net
      '日期:2009-8-23 下午 12:15:42

Sub 人工调用打印(Sh As Object , Optional From, Optional T_o, Optional Copies)
    On
Error Resume Next
    If IsMissing(From) Then From = 1
    If
IsMissing(T_o) Then
        Sh.PrintOut From, , Copies
    Else

        Sh.PrintOut From, T_o, Copies
    End
If
End Sub


      '撰写:老朽
      '网址:http://Club.ExcelHome.net
      '日期:2009-8-23 下午 12:15:42

Sub Test()
    Call
人工调用打印(Worksheets("Sheet1"), , , 2)
End Sub

TA的精华主题

TA的得分主题

发表于 2009-8-23 12:21 | 显示全部楼层
'Sh :需要打印的对象
'From:起始页
'T_o:终止页
'Copies:打印份数
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-10 21:23 , Processed in 0.034379 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表