作者:jrs2078148 | 来源:互联网 | 2023-09-10 12:45
想用VBA做一个WORD的访问控制,对于不同的用户显示不同的内容,不想给用户看到的内容则隐藏起来。所以需要对WORD中的文本添加标记,用于文本的显示或隐藏。Bookmark试过了,不能达到要求。但是一
想用VBA做一个WORD的访问控制,对于不同的用户显示不同的内容,不想给用户看到的内容则隐藏起来。所以需要对WORD中的文本添加标记,用于文本的显示或隐藏。Bookmark试过了,不能达到要求。但是一直找不到更好的办法。
新手,能给的加分有限,还望大家见谅。
不知道大家有没有别的办法,拜托大家了!谢谢!
21 个解决方案
我觉得用Word来做访问控制比较困难,
第一个是Word的对象中,除了窗体外,没有明显可用的show或者hide方法。
另一个方法就是用VBA直接把不能看到的内容删除,这个就要求打开时执行VBA脚本,
但如果用户禁用VBA就没有办法了。
个人想法,仅参考。
呵呵,不管怎样,先多谢了。的确是在用VBA做访问控制。一直没有找到有效的办法。如果把不能看的内容删除话,那该内容的创建者也没有办法看到吧。
删除了可以不保存啊,只是查看不到而己
另外楼主的实际应用是什么样的呢,如果只是控制流程,我觉得InfoPath更适合楼主,虽然我用的少。
回复 大河马
实际应用是做一个WORD ,可由多个用户登陆,每个用户只能看到自己创建的段落和别人允许他看的段落。所以想给每个段落加标记,记录每个用户创建的段落和可以查看的段落。
好的,了解了,
#4楼已经给了一个思路,看起来不错,
楼主继续研究一下吧,有问题可以继续交流
回复 大河马,教之初
嗯,实现时的确要像教之初所说隐藏文字。
总之,很谢谢两位!
这个实现起来有些困难。word也不适合这么干。
把每个人可以编辑的段落起始和结尾用固定的标识进行标记,然后在打开DOCUMENT的时候通过用户名进行判断,进行隐藏或者显示。这个可以不?先录个宏试试。
帮你顶一下。
回复:小乱乱
谢谢先,呵呵
目前思路就和你说的差不多。就是不知道选择什么去标记。
回复:小乱乱
嗯,很有道理。想问一下,对于标记也应该要保护起来吧。为了让它无法编辑除了用文档保护的办法,还有别的办法吗
我能想到的还有个办法,就是使用文本框。不过这样好像不太好设置格式,而且整体文章太长的话也不太适合。但是隐藏或者只读比较好实现。不知道高手还有没有更好的方法。
帮你顶下吧。看看高手的思路。
如果用于对初中级用户进行简单限制,那么我说的隐藏文字足够用了,毕竟绝大多数的用户并非专业office使用者,不太可能深入去研究文档。另外隐藏文字的效果非常好,从外观看没有任何的痕迹,即便【默认】使用vba遍历段落也不能发现。
如果楼主需要更加安全的方式,使用word那是开玩笑呢,也根本做不到。
回复 教之初
用户登陆时的确要隐藏他无法查看的段落。我现在想做的是给每个段落加标记,记录每个人可看的段落标记,确定登陆后显示哪些段落,隐藏哪些段落。
是书签不是标签
对每一个要显示或隐藏的段落设定一个书签,然后根据书签进行隐藏或显示隐藏的操作,具体自己录制个宏试试吧。
书签就是bookmark吧。试过这个了,但是在应用中还是有问题。不管怎样,还是很感谢哦。