我使用oleobject, 想隐藏工具栏中的右键(右键中有自定义,我想隐藏),以及替换save按钮,希望自己来控制(100分)

  • 主题发起人 主题发起人 mzgcareer
  • 开始时间 开始时间
M

mzgcareer

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用oleobject, 想隐藏工具栏中的右键(右键中有自定义,我想隐藏),以及替换save按钮,希望自己来控制。
各位大侠, 帮忙
 
OFFICE XP 中,代码VBA
在有些情况下,您可能不想让自定义应用程序的用户通过“自定义”对话框来删除或禁用您设好的自定义命令条。禁止其他用户更改您的自定义命令条的最简单也最不安全的方法是,禁用命令条并且确保只在绝对必须的情况下才使它可见。把命令条的 Enabled 属性值设为 False 就可以禁用命令条。把命令条的 Visible 属性值设为 False 就可以隐藏命令条。然而,隐藏命令条并不能阻止其他用户通过“自定义”对话框来访问命令条。

要完全限制对自定义命令条的访问,就必须严格限制所有对“自定义”对话框的访问。有三个途径可以访问“自定义”对话框:一个是单击“视图”菜单中的“工具栏”,然后单击“自定义”;一个是右键单击任何一个命令条,然后单击出现的快捷方式菜单上的“自定义”;第三个方法是单击“工具”菜单上的“自定义”。

所有的 Microsoft® Office 应用程序都使用“工具栏列表”弹出式命令条对内置的或自定义的命令条进行访问。在“视图”菜单上单击“工具栏”或者右键单击任一命令条就会出现“工具栏列表”命令条。如果您将“工具栏列表”命令条的 Enabled 属性设为 False(如以下代码所示),那么其他用户就不能用以上方法打开“自定义”对话框了。

CommandBars("Toolbar List").Enabled = False
注意 因为“工具栏列表”的构建方式的限制,您不能禁用它的任何命令。只有禁用整个命令条才能禁用其中的命令。
因为单击“工具”菜单中的“自定义”就可以打开“自定义”对话框,因此要想完全限制对自定义命令条的访问,您也必须禁用这条命令。下面的代码演示了如何禁止访问“自定义”对话框:

Sub AllowCommandBarCustomization(blnAllowEnabled As Boolean)
' 这个过程根据
' blnAllowEnabled 参数的值来决定允许或禁止通过“自定义”对话框
' 来访问命令条。
CommandBars("Tools").Controls("Customize...").Enabled = blnAllowEnabled
CommandBars("Toolbar List").Enabled = blnAllowEnabled
End Sub
 
谢谢zjan521, 解决了我一直困扰的问题。请问,在office2000和office97可以吗?另外,我想使用自己的保存对话框来代替word自带的(另存为)对话框,不知各位有何良药。
 
现在还遇到一问题,比如我使用我的程序打开的word文件,我想隐藏相关菜单,工具条,替换我自己的对话框等等;但当用户不经过我的程序而是直接使用office打开时,我不想执行相关操作。请问使用oleobject方便,还是使用tolecontainer方便。小弟先在这谢过
 
请问zjan521兄:你这些信息是怎么查得的, 我咋就找不到呢
 
除非作成Office的插件,否则通常只能对在自己程序中打开的进行这样的处理。(在模版里边写VBA代码也是一个方法,但需要进行数字签名等等,否则很可能在高版本的OFFICE里边连给用户提示的机会都没有)
OleObject和TOleContainer功能是一样的。
OleObject应该是和TWordDocument相对应。TWordDocument(uses Word..)有代码提示,而OleObject则没有代码提示和编译检查。
至于TOleContainer应该说如果需要在程序中嵌入打开文档.基本上是必须的(不排除特殊情况,)而和使用TWordDocument或者OleObject并不冲突
 
前几天我使用servers控件,在TWordApplication的BeforeSave事件中做了处理,没问题.但考虑到office版本问题, 我的是officeXp的控件,请问在office2000和office97中能否运行(因为我们这全是xp,所以不好试)? 如果不能兼容, 我考虑使用CreateOleObject, 但当Word保存时, 我的程序怎么才能截获这个事件? 是不是需要使用消息机制? 但我在这方面比较薄弱, 大虾, 帮忙指导一二, 不胜感激!
 
这个兼容性应改没问题的。如果不放心,把Delphi里边的OFFICE 安装为office97的。向下兼容总是不会有问题的
 
后退
顶部