word

ydlchina 2007-12-15 02:29:56
俺看了你答复的《word 屏蔽问题》,有几个问题请教你
Variant vOptions = vWordApp.OlePropertyGet("Options");
vOptions.OlePropertySet("WarnBeforeSavingPrintingSendingMarkup", false);
vOptions.OlePropertySet("StoreRSIDOnSave", true);
vOptions.OlePropertySet("ShowMarkupOpenSave", true);
vWordApp.OlePropertyGet("Selection")
.OlePropertyGet("Editors").OleFunction("Add", -1); // wdEditorEveryone
try
{
vDoc.OleFunction("Protect",
3, //wdAllowOnlyReading
false, // NoReset:=False,
strPwd.c_str(), // Password,
false, // UseIRM:=False,
true // EnforceStyleLock:=True
);
}
能否解释以上各句的意思,用途。给大家分析以下。越详细越好。谢谢。
...全文
106 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ydlchina 2007-12-16
  • 打赏
  • 举报
回复
太感谢了,结贴
ccrun.com 2007-12-16
  • 打赏
  • 举报
回复
用C++Builder或Delphi来操作Office的代码,我一般是通过在Office中录制宏,然后翻译代码实现的,由于Office本身的VBA也很复杂,所以有些属性和方法我也不是很清楚其用途,参数以及代码类型好多都是猜出来的。
以下资料部分是从网上摘抄而来。

// 获取Word中"一般选项"的属性(或者也可以叫选项对象),并设置其中几个属性
Variant vOptions = vWordApp.OlePropertyGet("Options");
vOptions.OlePropertySet("WarnBeforeSavingPrintingSendingMarkup", false);
vOptions.OlePropertySet("StoreRSIDOnSave", true);
vOptions.OlePropertySet("ShowMarkupOpenSave", true);

// 如果要想用户只能编辑该文档的一部分,可以先选定可以被用户编辑的那部分文字,然后调用Application.Selection.Editors.Add(-1);
// 该方法只有一个参数,指示了被授予编辑权限的用户是谁(-1代表所有用户).
// Word文件分配给区域和选定部分的权限在文档受到保护之后就会生效,即用户可以对其授权的部分文档进行编辑,但不能编辑没有被受权的部分.
vWordApp.OlePropertyGet("Selection")
.OlePropertyGet("Editors").OleFunction("Add", -1); // wdEditorEveryone

// 保护文档的操作
// Application.ActiveDocument.Protec(Type, NoReset, Password, UseIRM, EnforceStyleLock)
// Type 指定文档的保护类型。类型:3,表示只读.取值:(-1|0|1|2|3).
// NoReset 如果值为 False,则将窗体域重新设置为其默认值。如果值为 True,而指定文档又是处于保护状态,则保留当前窗体域的值.取值:(true|false)
// Password 删除指定文档的保护所需的密码(当需要取消对文档的保护时,系统会提示你输入的密码.如果取消了对文档的保护,任何用户都可以对文档进行编辑)。取值:英文和数字组成字符串
// UseIRM 指定保护文档不被更改时是否使用“信息版权管理”(如果不明白也没有关系,这个值一般为false)。取值:(true|false)
// EnforceStyleLock 指定是否在受保护的文档中实施格式设置限制.取值:(true|false).
try
{
vDoc.OleFunction("Protect",
3, //wdAllowOnlyReading
false, // NoReset:=False,
strPwd.c_str(), // Password,
false, // UseIRM:=False,
true // EnforceStyleLock:=True
);
}
ccrun.com 2007-12-15
  • 打赏
  • 举报
回复
先做个记号,晚一些我再来回答。
i_love_pc 2007-12-15
  • 打赏
  • 举报
回复
静候老妖:)

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧