如何屏蔽掉OFFICE里面的“另存为…”功能?
欲实现如下功能:
将一个WORD文档存储到数据库中,在开发的软件上调用OFFICE打开存储在数据库当中的WORD文档,在OFFICE当中点击“保存”时,自动存储到数据库当中。为了数据的安全性要将OFFICE当中的“另存为…”功能屏蔽掉,禁止将打开的WORD文档另存到本地机上。
本人实现起来有两个难题:
1>如何在实现在OFFICE当中点击“保存”时,自动存储到数据库当中;
2>如何编程屏蔽掉OFFICE当中的“另存为…”功能。
在功能实现的时候,不可以为此WORD文档进行宏编程,因为此WORD文档在脱离了此数据库以后,是不能再具有此功能的。
望大家能帮兄弟一把,急等用!!在此谢过了!!
问题点数:100、回复次数:16Top
1 楼zhongjinting()回复于 2006-02-26 22:53:09 得分 0
因为不清楚你具体的开发环境,所以提供一些思路供你参考。
如果你是用其它高级语言编程,可以在建立Word对象时,屏蔽掉另存为功能,或者
单独为这个word文档建立一个新的模版,在模版中屏蔽掉另存为功能。在Office97 and Office2000中可以覆盖Word的某些内置功能,高版本的没有试过。Top
2 楼vansoft(Vansoft Workroom)回复于 2006-02-27 14:42:41 得分 0
重寫他的保存過程。Top
3 楼lifus(火冰)回复于 2006-03-03 16:04:24 得分 0
我应该如何在PB或DotNET中重写它的保存过程呢?谢谢!Top
4 楼FEEDOMING(小不点)回复于 2006-03-10 10:01:03 得分 0
to lifus, 请描述你的开发环境吧,在什么环境下需要实现你所说的内容?
Top
5 楼stoneo9o3(stone)回复于 2006-03-10 23:15:40 得分 0
在WORD VBA中另存为是调用哪个东东呢?急啊Top
6 楼sufeiya(苏菲娅)回复于 2006-03-10 23:52:31 得分 0
录一个宏,就出来了,Top
7 楼h8349c()回复于 2006-03-13 10:03:26 得分 0
这个问题问Microsoft比较合适Top
8 楼stoneg(IUnknown)回复于 2006-03-14 13:35:45 得分 10
如果是word,无法简单实现,你屏蔽了另存为...,我还能新建个doc,copy-paste过去呢
放弃或是想别的办法Top
9 楼lifus(火冰)回复于 2006-04-10 12:57:51 得分 0
最主要的问题是我如何在程序当中捕获到WORD的保存事件,要让新存的文件保存到数据库当中去。谢谢Top
10 楼hhjjhjhj(大头)(http://office.9zp.com)回复于 2006-04-10 15:57:44 得分 0
WORD菜单可以各文档自定义
http://office.9zp.com/viewFile.asp?Boardid=9&ID=4894Top
11 楼yn_alive()回复于 2006-04-21 14:19:38 得分 30
可以新建一个word模版,在模版中打开vba新建一个模块,模块中重写word的save方法。如:
sub FileSaveAs()
end sub
然后在你原来的word文档中执行:工具-〉模版和加载项。在文档模版中选用刚才新建的模版。这样在另存文档时,会调用你写的FileSaveAs方法。这样就屏蔽了word的另存动作。Top
12 楼jenycheng(听,雪的声音)回复于 2006-04-25 16:05:10 得分 60
Sub DisableMenu()
Dim cbp As CommandBarPopup
Dim cb As CommandBar
Dim cbc As CommandBarControl
Set cbp = ActiveDocument.CommandBars("Menu bar").Controls("文件(&F)")
Set cb = cbp.CommandBar
' 禁用 另存
Set cbc = cb.Controls("另存为(&A)")
cbc.Enabled = False
End SubTop
13 楼jenycheng(听,雪的声音)回复于 2006-04-25 16:06:56 得分 0
这样 禁用后
除非你手动 写代码启用, 否则 永远不能用另存了Top
14 楼jenycheng(听,雪的声音)回复于 2006-04-25 16:07:58 得分 0
上面的是VBA 的代码
宏代码Top
15 楼lifus(火冰)回复于 2006-04-26 14:17:23 得分 0
谢谢jenycheng(黄泉教主),我试一下。Top
16 楼lifus(火冰)回复于 2006-05-21 00:39:40 得分 0
我的开发环境是Visual Studio.NET(C#)2005,我如何在程序当中控制呢?Top




