Appearance
适用于WORD文档的简化方法
概述
本节的方法都为了简便用户编程的难度,封装的Word基本操作的方法。如果需做更细致的操作,请参考技术支持网站(dev.ntko.com)上的文档。
书签操作
GetBookmarkValue
语法:
javascript
GetBookmarkValue(BookmarkName)
功能:
此方法可以取得文档中指定书签的值。
参数:
名称 | 必选/可选 | 数据类型 | 说明 |
---|---|---|---|
BookmarkName | 必选 | string | 书签的索引或者名称 |
返回值:
String型字符串。书签值。
说明:
此方法可以取得文档中指定书签的值。
使用示例:
javascript
// 获取书签值
function getBookmarkValue() {
try {
// 通过书签名称获取值
var bookmarkValue = OCX_OBJ.GetBookmarkValue("bookmark1");
console.log("书签值:", bookmarkValue);
return bookmarkValue;
} catch (error) {
console.error("获取书签值失败:", error.message);
return "";
}
}
// 获取多个书签值
function getMultipleBookmarkValues() {
try {
var bookmarks = ["bookmark1", "bookmark2", "bookmark3"];
var values = {};
for (var i = 0; i < bookmarks.length; i++) {
values[bookmarks[i]] = OCX_OBJ.GetBookmarkValue(bookmarks[i]);
}
console.log("所有书签值:", values);
return values;
} catch (error) {
console.error("获取多个书签值失败:", error.message);
return {};
}
}
SetBookmarkValue
语法:
javascript
SetBookmarkValue(BookmarkName, value)
功能:
设置指定书签的值。
参数:
名称 | 必选/可选 | 数据类型 | 说明 |
---|---|---|---|
BookmarkName | 必选 | string | 书签的索引或者名称 |
value | 必选 | string | 书签值 |
返回值:
无返回值。
说明:
设置指定书签的值。
使用示例:
javascript
// 设置书签值
function setBookmarkValue() {
try {
// 设置单个书签值
OCX_OBJ.SetBookmarkValue("bookmark1", "新值");
console.log("书签值设置完成");
} catch (error) {
console.error("设置书签值失败:", error.message);
}
}
// 设置多个书签值
function setMultipleBookmarkValues() {
try {
var bookmarks = {
"bookmark1": "值1",
"bookmark2": "值2",
"bookmark3": "值3"
};
for (var bookmarkName in bookmarks) {
OCX_OBJ.SetBookmarkValue(bookmarkName, bookmarks[bookmarkName]);
}
console.log("多个书签值设置完成");
} catch (error) {
console.error("设置多个书签值失败:", error.message);
}
}
// 动态设置书签值
function setDynamicBookmarkValue(bookmarkName, value) {
try {
OCX_OBJ.SetBookmarkValue(bookmarkName, value);
console.log("书签 " + bookmarkName + " 的值已设置为: " + value);
} catch (error) {
console.error("设置书签值失败:", error.message);
}
}
模板操作
AddTemplateFromLocal
语法:
javascript
AddTemplateFromLocal(filename, [PromptSelect], [IsConfirmConversions])
功能:
从本地增加插入模板到当前光标处。
参数:
名称 | 必选/可选 | 数据类型 | 说明 |
---|---|---|---|
filename | 必选 | string | 本地模板文件路径 |
PromptSelect | 可选 | bool | 是否允许用户选择 |
IsConfirmConversions | 可选 | bool | 当模板文件不是WORD类型时,是否提示转换,默认true |
返回值:
无返回值。
说明:
从本地增加插入模板到当前光标处。
注意: 使用此方法就可以实现套红功能。该方法只对Word有效。
使用示例:
javascript
// 从本地插入模板
function addTemplateFromLocal() {
try {
// 基本模板插入
OCX_OBJ.AddTemplateFromLocal("C:\\templates\\template1.docx");
console.log("本地模板插入完成");
} catch (error) {
console.error("插入本地模板失败:", error.message);
}
}
// 从本地插入模板(带用户选择)
function addTemplateFromLocalWithPrompt() {
try {
OCX_OBJ.AddTemplateFromLocal("C:\\templates\\template1.docx", true);
console.log("本地模板插入完成(用户选择)");
} catch (error) {
console.error("插入本地模板失败:", error.message);
}
}
// 从本地插入模板(不确认转换)
function addTemplateFromLocalNoConversion() {
try {
OCX_OBJ.AddTemplateFromLocal("C:\\templates\\template1.docx", false, false);
console.log("本地模板插入完成(不确认转换)");
} catch (error) {
console.error("插入本地模板失败:", error.message);
}
}
// 批量插入模板
function addMultipleTemplatesFromLocal() {
try {
var templates = [
"C:\\templates\\template1.docx",
"C:\\templates\\template2.docx",
"C:\\templates\\template3.docx"
];
for (var i = 0; i < templates.length; i++) {
OCX_OBJ.AddTemplateFromLocal(templates[i]);
}
console.log("批量插入本地模板完成");
} catch (error) {
console.error("批量插入本地模板失败:", error.message);
}
}
AddTemplateFromURL
语法:
javascript
AddTemplateFromURL(URL, [IsConfirmConversions])
功能:
该方法用来将一个从URL下载的word文档插入到当前文档的光标处。
参数:
名称 | 必选/可选 | 数据类型 | 说明 |
---|---|---|---|
URL | 必选 | string | 远程模板文件URL |
IsConfirmConversions | 可选 | bool | 当模板文件不是WORD类型时,是否提示转换,默认true |
返回值:
无返回值。
说明:
该方法用来将一个从URL下载的word文档插入到当前文档的光标处。可以用来使用预定义的模板套红。该函数的参数URL,可以是绝对或者相对当前网页的URL,用来指明要下载的Word文档的地址。
注意: 使用此方法就可以实现套红功能。该方法只对Word有效。
使用示例:
javascript
// 从URL插入模板
function addTemplateFromURL() {
try {
// 基本URL模板插入
OCX_OBJ.AddTemplateFromURL("http://example.com/templates/template1.docx");
console.log("URL模板插入完成");
} catch (error) {
console.error("插入URL模板失败:", error.message);
}
}
// 从URL插入模板(不确认转换)
function addTemplateFromURLNoConversion() {
try {
OCX_OBJ.AddTemplateFromURL("http://example.com/templates/template1.docx", false);
console.log("URL模板插入完成(不确认转换)");
} catch (error) {
console.error("插入URL模板失败:", error.message);
}
}
// 从相对URL插入模板
function addTemplateFromRelativeURL() {
try {
OCX_OBJ.AddTemplateFromURL("./templates/template1.docx");
console.log("相对URL模板插入完成");
} catch (error) {
console.error("插入相对URL模板失败:", error.message);
}
}
// 批量插入URL模板
function addMultipleTemplatesFromURL() {
try {
var templates = [
"http://example.com/templates/template1.docx",
"http://example.com/templates/template2.docx",
"http://example.com/templates/template3.docx"
];
for (var i = 0; i < templates.length; i++) {
OCX_OBJ.AddTemplateFromURL(templates[i]);
}
console.log("批量插入URL模板完成");
} catch (error) {
console.error("批量插入URL模板失败:", error.message);
}
}
痕迹保留
TrackRevisions
语法:
javascript
TrackRevisions(vbool)
功能:
设置文档进入或者退出痕迹保留状态。
参数:
名称 | 必选/可选 | 数据类型 | 说明 |
---|---|---|---|
vbool | 可选 | bool | 是否保留痕迹 |
返回值:
无返回值
说明:
设置文档进入或者退出痕迹保留状态。true代表保留痕迹,false代表退出痕迹保留。
使用示例:
javascript
// 启用痕迹保留
function enableTrackRevisions() {
try {
OCX_OBJ.TrackRevisions(true);
console.log("痕迹保留已启用");
} catch (error) {
console.error("启用痕迹保留失败:", error.message);
}
}
// 禁用痕迹保留
function disableTrackRevisions() {
try {
OCX_OBJ.TrackRevisions(false);
console.log("痕迹保留已禁用");
} catch (error) {
console.error("禁用痕迹保留失败:", error.message);
}
}
// 切换痕迹保留状态
function toggleTrackRevisions() {
try {
// 获取当前状态(需要先检查状态)
var currentState = OCX_OBJ.TrackRevisions;
OCX_OBJ.TrackRevisions(!currentState);
console.log("痕迹保留状态已切换");
} catch (error) {
console.error("切换痕迹保留状态失败:", error.message);
}
}
EnterRevisionMode
语法:
javascript
EnterRevisionMode(vbool, [password])
功能:
设置文档进入或者退出强制痕迹保留状态。
参数:
名称 | 必选/可选 | 数据类型 | 说明 |
---|---|---|---|
vbool | 必选 | bool | 是否启用强制留痕 |
Password | 可选 | string | 修订模式保护密码 |
返回值:
无返回值
说明:
设置文档进入或者退出强制痕迹保留状态,即启用文件保护的修订模式。参数vbool 值为true代表保留痕迹,false代表退出痕迹保留。参数password代表文件保护修订模式的保护密码。
使用示例:
javascript
// 启用强制痕迹保留
function enableEnterRevisionMode() {
try {
OCX_OBJ.EnterRevisionMode(true);
console.log("强制痕迹保留已启用");
} catch (error) {
console.error("启用强制痕迹保留失败:", error.message);
}
}
// 启用强制痕迹保留(带密码)
function enableEnterRevisionModeWithPassword() {
try {
OCX_OBJ.EnterRevisionMode(true, "password123");
console.log("强制痕迹保留已启用(带密码)");
} catch (error) {
console.error("启用强制痕迹保留失败:", error.message);
}
}
// 禁用强制痕迹保留
function disableEnterRevisionMode() {
try {
OCX_OBJ.EnterRevisionMode(false);
console.log("强制痕迹保留已禁用");
} catch (error) {
console.error("禁用强制痕迹保留失败:", error.message);
}
}
// 切换强制痕迹保留状态
function toggleEnterRevisionMode() {
try {
// 获取当前状态(需要先检查状态)
var currentState = OCX_OBJ.EnterRevisionMode;
OCX_OBJ.EnterRevisionMode(!currentState);
console.log("强制痕迹保留状态已切换");
} catch (error) {
console.error("切换强制痕迹保留状态失败:", error.message);
}
}
方法分类总结
分类 | 方法 | 功能 | 说明 |
---|---|---|---|
书签操作 | GetBookmarkValue | 获取文档中指定书签的值 | 书签读取 |
SetBookmarkValue | 设置指定书签的值 | 书签设置 | |
模板操作 | AddTemplateFromLocal | 从本地插入模板到当前光标处 | 本地模板 |
AddTemplateFromURL | 从URL下载并插入模板到当前光标处 | 远程模板 | |
痕迹保留 | TrackRevisions | 设置文档进入或退出痕迹保留状态 | 痕迹保留 |
EnterRevisionMode | 设置文档进入或退出强制痕迹保留状态 | 强制痕迹保留 |
使用流程
1. 书签操作流程
javascript
// 书签操作流程
function bookmarkOperationFlow() {
try {
// 设置书签值
OCX_OBJ.SetBookmarkValue("title", "文档标题");
OCX_OBJ.SetBookmarkValue("author", "作者姓名");
OCX_OBJ.SetBookmarkValue("date", "2024-01-01");
// 获取书签值
var title = OCX_OBJ.GetBookmarkValue("title");
var author = OCX_OBJ.GetBookmarkValue("author");
var date = OCX_OBJ.GetBookmarkValue("date");
console.log("书签操作完成:", { title, author, date });
} catch (error) {
console.error("书签操作失败:", error.message);
}
}
2. 模板操作流程
javascript
// 模板操作流程
function templateOperationFlow() {
try {
// 从本地插入模板
OCX_OBJ.AddTemplateFromLocal("C:\\templates\\header.docx");
// 从URL插入模板
OCX_OBJ.AddTemplateFromURL("http://example.com/templates/footer.docx");
console.log("模板操作完成");
} catch (error) {
console.error("模板操作失败:", error.message);
}
}
3. 痕迹保留流程
javascript
// 痕迹保留流程
function revisionFlow() {
try {
// 启用痕迹保留
OCX_OBJ.TrackRevisions(true);
// 启用强制痕迹保留
OCX_OBJ.EnterRevisionMode(true, "password123");
console.log("痕迹保留设置完成");
} catch (error) {
console.error("痕迹保留设置失败:", error.message);
}
}
完整示例
1. 基础WORD文档操作
javascript
// 基础WORD文档操作示例
function basicWordDocumentOperation() {
try {
// 设置书签值
OCX_OBJ.SetBookmarkValue("title", "文档标题");
OCX_OBJ.SetBookmarkValue("author", "作者姓名");
// 获取书签值
var title = OCX_OBJ.GetBookmarkValue("title");
var author = OCX_OBJ.GetBookmarkValue("author");
console.log("基础WORD文档操作完成:", { title, author });
} catch (error) {
console.error("基础WORD文档操作失败:", error.message);
}
}
2. 高级WORD文档管理
javascript
// 高级WORD文档管理示例
function advancedWordDocumentManagement() {
try {
// 设置多个书签值
var bookmarks = {
"title": "高级文档标题",
"author": "高级作者",
"date": "2024-01-01",
"version": "1.0"
};
for (var bookmarkName in bookmarks) {
OCX_OBJ.SetBookmarkValue(bookmarkName, bookmarks[bookmarkName]);
}
// 从本地插入模板
OCX_OBJ.AddTemplateFromLocal("C:\\templates\\header.docx");
// 从URL插入模板
OCX_OBJ.AddTemplateFromURL("http://example.com/templates/footer.docx");
// 启用痕迹保留
OCX_OBJ.TrackRevisions(true);
console.log("高级WORD文档管理完成");
} catch (error) {
console.error("高级WORD文档管理失败:", error.message);
}
}
3. WORD文档质量控制
javascript
// WORD文档质量控制示例
function wordDocumentQualityControl() {
try {
// 启用强制痕迹保留
OCX_OBJ.EnterRevisionMode(true, "password123");
// 设置质量控制书签
OCX_OBJ.SetBookmarkValue("quality_check", "已通过");
OCX_OBJ.SetBookmarkValue("reviewer", "审核员");
OCX_OBJ.SetBookmarkValue("review_date", "2024-01-01");
// 插入质量控制模板
OCX_OBJ.AddTemplateFromLocal("C:\\templates\\quality_control.docx");
console.log("WORD文档质量控制完成");
} catch (error) {
console.error("WORD文档质量控制失败:", error.message);
}
}
注意事项
- Word专用:这些方法只对Word文档有效
- 书签操作:确保书签名称正确,避免使用特殊字符
- 模板路径:确保模板文件路径正确且文件存在
- URL访问:确保URL可访问且文件格式正确
- 痕迹保留:合理使用痕迹保留功能
- 密码保护:妥善保管修订模式密码
- 错误处理:实现完善的错误处理机制
错误处理
javascript
// WORD文档操作错误处理
function handleWordDocumentError(operation, error) {
console.error("WORD文档操作失败:", operation, error.message);
switch(operation) {
case 'GetBookmarkValue':
console.log("获取书签值失败,请检查:");
console.log("1. 书签名称是否正确");
console.log("2. 书签是否存在");
console.log("3. 文档是否已打开");
break;
case 'SetBookmarkValue':
console.log("设置书签值失败,请检查:");
console.log("1. 书签名称是否正确");
console.log("2. 书签是否存在");
console.log("3. 值是否有效");
break;
case 'AddTemplateFromLocal':
console.log("插入本地模板失败,请检查:");
console.log("1. 文件路径是否正确");
console.log("2. 文件是否存在");
console.log("3. 文件格式是否支持");
break;
case 'AddTemplateFromURL':
console.log("插入URL模板失败,请检查:");
console.log("1. URL是否正确");
console.log("2. 网络连接是否正常");
console.log("3. 文件是否可访问");
break;
default:
console.log("未知WORD文档操作失败");
}
}
最佳实践
1. WORD文档操作最佳实践
javascript
// WORD文档操作最佳实践
function wordDocumentOperationBestPractice() {
try {
// 书签操作最佳实践
function bookmarkBestPractice() {
try {
// 设置书签值
OCX_OBJ.SetBookmarkValue("title", "文档标题");
OCX_OBJ.SetBookmarkValue("author", "作者姓名");
// 获取书签值
var title = OCX_OBJ.GetBookmarkValue("title");
var author = OCX_OBJ.GetBookmarkValue("author");
console.log("书签操作成功:", { title, author });
} catch (error) {
handleWordDocumentError('SetBookmarkValue', error);
}
}
// 执行书签操作
bookmarkBestPractice();
} catch (error) {
console.error("WORD文档操作最佳实践失败:", error.message);
}
}
2. WORD文档管理最佳实践
javascript
// WORD文档管理最佳实践
function wordDocumentManagementBestPractice() {
try {
// WORD文档管理配置
var wordConfig = {
bookmarks: {
"title": "文档标题",
"author": "作者姓名",
"date": "2024-01-01"
},
templates: {
local: "C:\\templates\\template.docx",
url: "http://example.com/templates/template.docx"
},
revision: {
enabled: true,
password: "password123"
}
};
// 应用WORD文档管理配置
function applyWordConfig() {
try {
// 设置书签值
for (var bookmarkName in wordConfig.bookmarks) {
OCX_OBJ.SetBookmarkValue(bookmarkName, wordConfig.bookmarks[bookmarkName]);
}
// 插入模板
OCX_OBJ.AddTemplateFromLocal(wordConfig.templates.local);
OCX_OBJ.AddTemplateFromURL(wordConfig.templates.url);
// 启用痕迹保留
if (wordConfig.revision.enabled) {
OCX_OBJ.EnterRevisionMode(true, wordConfig.revision.password);
}
console.log("WORD文档管理配置应用成功");
} catch (error) {
console.error("应用WORD文档管理配置失败:", error.message);
}
}
// 应用配置
applyWordConfig();
} catch (error) {
console.error("WORD文档管理最佳实践失败:", error.message);
}
}
3. WORD文档质量控制最佳实践
javascript
// WORD文档质量控制最佳实践
function wordDocumentQualityControlBestPractice() {
try {
// WORD文档质量控制
function controlWordQuality() {
try {
// 设置质量控制书签
OCX_OBJ.SetBookmarkValue("quality_check", "已通过");
OCX_OBJ.SetBookmarkValue("reviewer", "审核员");
OCX_OBJ.SetBookmarkValue("review_date", "2024-01-01");
// 插入质量控制模板
OCX_OBJ.AddTemplateFromLocal("C:\\templates\\quality_control.docx");
// 启用强制痕迹保留
OCX_OBJ.EnterRevisionMode(true, "quality_password");
console.log("WORD文档质量控制完成");
} catch (error) {
console.error("WORD文档质量控制失败:", error.message);
}
}
// 执行质量控制
controlWordQuality();
} catch (error) {
console.error("WORD文档质量控制最佳实践失败:", error.message);
}
}
技术要点
- Word专用:这些方法只对Word文档有效
- 书签操作:确保书签名称正确,避免使用特殊字符
- 模板路径:确保模板文件路径正确且文件存在
- URL访问:确保URL可访问且文件格式正确
- 痕迹保留:合理使用痕迹保留功能
- 密码保护:妥善保管修订模式密码
- 错误处理:完善的错误处理机制
总结
适用于WORD文档的简化方法为软航OFFICE文档控件提供了便捷的Word文档操作功能。通过GetBookmarkValue和SetBookmarkValue方法可以方便地操作书签,通过AddTemplateFromLocal和AddTemplateFromURL方法可以实现模板套红功能,通过TrackRevisions和EnterRevisionMode方法可以控制痕迹保留状态,为开发者提供了简化的Word文档操作接口,大大降低了编程难度,提升了开发效率和用户体验。