Appearance
适用于WORD文档的简化方法
说明:此节的方法都为了简便用户编程的难度,封装的Word基本操作的方法。如果需做更细致的操作,请参考技术支持网站(dev.ntko.com)上的文档。
书签操作
GetBookmarkValue
语法
javascript
GetBookmarkValue(BookmarkName)
功能
此方法可以取得文档中指定书签的值。
参数
名称 | 必选/可选 | 数据类型 | 说明 |
---|---|---|---|
BookmarkName | 必选 | string | 书签的索引或者名称 |
返回值
String型字符串。书签值。
说明
此方法可以取得文档中指定书签的值。
示例代码
javascript
// 获取书签值
var bookmarkValue = OCX_OBJ.GetBookmarkValue("姓名");
console.log("书签值:", bookmarkValue);
// 获取多个书签值
var name = OCX_OBJ.GetBookmarkValue("姓名");
var company = OCX_OBJ.GetBookmarkValue("公司");
var date = OCX_OBJ.GetBookmarkValue("日期");
SetBookmarkValue
语法
javascript
SetBookmarkValue(BookmarkName, value)
功能
设置指定书签的值。
参数
名称 | 必选/可选 | 数据类型 | 说明 |
---|---|---|---|
BookmarkName | 必选 | string | 书签的索引或者名称 |
value | 必选 | string | 书签值 |
返回值
无返回值。
说明
设置指定书签的值。
示例代码
javascript
// 设置书签值
OCX_OBJ.SetBookmarkValue("姓名", "张三");
OCX_OBJ.SetBookmarkValue("公司", "某某科技有限公司");
OCX_OBJ.SetBookmarkValue("日期", "2024-01-01");
// 批量设置书签值
var bookmarkData = {
"姓名": "李四",
"部门": "技术部",
"职位": "软件工程师",
"入职日期": "2024-01-15"
};
for (var key in bookmarkData) {
OCX_OBJ.SetBookmarkValue(key, bookmarkData[key]);
}
模板操作
AddTemplateFromLocal
语法
javascript
AddTemplateFromLocal(filename, [PromptSelect], [IsConfirmConversions])
功能
从本地增加插入模板到当前光标处。
参数
名称 | 必选/可选 | 数据类型 | 说明 |
---|---|---|---|
filename | 必选 | string | 本地模板文件路径 |
PromptSelect | 可选 | bool | 是否允许用户选择 |
IsConfirmConversions | 可选 | bool | 当模板文件不是WORD类型时,是否提示转换,默认true |
返回值
无返回值。
说明
从本地增加插入模板到当前光标处。
注意:使用此方法就可以实现套红功能。
示例代码
javascript
// 基本用法 - 插入本地模板
OCX_OBJ.AddTemplateFromLocal("C:\\templates\\合同模板.docx");
// 允许用户选择模板文件
OCX_OBJ.AddTemplateFromLocal("", true);
// 不提示转换
OCX_OBJ.AddTemplateFromLocal("C:\\templates\\模板.doc", false, false);
// 套红功能示例
function applyTemplate(templatePath) {
OCX_OBJ.AddTemplateFromLocal(templatePath, false, true);
}
AddTemplateFromURL
语法
javascript
AddTemplateFromURL(URL, [IsConfirmConversions])
功能
该方法用来将一个从URL下载的word文档插入到当前文档的光标处。
参数
名称 | 必选/可选 | 数据类型 | 说明 |
---|---|---|---|
URL | 必选 | string | 远程模板文件URL |
IsConfirmConversions | 可选 | bool | 当模板文件不是WORD类型时,是否提示转换,默认true |
返回值
无返回值。
说明
该方法用来将一个从URL下载的word文档插入到当前文档的光标处。可以用来使用预定义的模板套红。 该函数的参数URL,可以是绝对或者相对当前网页的URL,用来指明要下载的Word文档的地址。
注意:使用此方法就可以实现套红功能。
示例代码
javascript
// 基本用法 - 从URL插入模板
OCX_OBJ.AddTemplateFromURL("https://example.com/templates/合同模板.docx");
// 不提示转换
OCX_OBJ.AddTemplateFromURL("https://example.com/templates/模板.doc", false);
// 套红功能示例
function applyRemoteTemplate(templateUrl) {
OCX_OBJ.AddTemplateFromURL(templateUrl, true);
}
// 相对路径模板
OCX_OBJ.AddTemplateFromURL("./templates/标准模板.docx");
痕迹保留操作
TrackRevisions
语法
javascript
TrackRevisions(vbool)
功能
设置文档进入或者退出痕迹保留状态。
参数
名称 | 必选/可选 | 数据类型 | 说明 |
---|---|---|---|
vbool | 可选 | bool | 是否保留痕迹 |
返回值
无返回值。
说明
设置文档进入或者退出痕迹保留状态。true代表保留痕迹,false代表退出痕迹保留。
示例代码
javascript
// 启用痕迹保留
OCX_OBJ.TrackRevisions(true);
// 关闭痕迹保留
OCX_OBJ.TrackRevisions(false);
// 切换痕迹保留状态
function toggleTrackRevisions() {
var currentState = OCX_OBJ.TrackRevisions;
OCX_OBJ.TrackRevisions(!currentState);
}
EnterRevisionMode
语法
javascript
EnterRevisionMode(vbool, [password])
功能
设置文档进入或者退出强制痕迹保留状态。
参数
名称 | 必选/可选 | 数据类型 | 说明 |
---|---|---|---|
vbool | 必选 | bool | 是否启用强制留痕 |
Password | 可选 | string | 修订模式保护密码 |
返回值
无返回值。
说明
设置文档进入或者退出强制痕迹保留状态,即启用文件保护的修订模式。参数vbool值为true代表保留痕迹,false代表退出痕迹保留。参数password代表文件保护修订模式的保护密码。
示例代码
javascript
// 启用强制痕迹保留(无密码)
OCX_OBJ.EnterRevisionMode(true);
// 启用强制痕迹保留(带密码)
OCX_OBJ.EnterRevisionMode(true, "123456");
// 退出强制痕迹保留
OCX_OBJ.EnterRevisionMode(false);
// 带密码保护的修订模式
function enableProtectedRevision(password) {
OCX_OBJ.EnterRevisionMode(true, password);
}
ShowRevision
语法
javascript
showRevision(RevisionType)
功能
设置痕迹显示状态。
参数
名称 | 必选/可选 | 数据类型 | 说明 |
---|---|---|---|
RevisionType | 必选 | long | 痕迹显示状态 |
返回值
无返回值。
说明
设置痕迹显示状态,0代表显示修订,1代表显示原始修订,2代表显示最终修订。
痕迹显示状态对照表
值 | 说明 |
---|---|
0 | 显示修订 |
1 | 显示原始修订 |
2 | 显示最终修订 |
示例代码
javascript
// 显示修订痕迹
OCX_OBJ.showRevision(0);
// 显示原始修订
OCX_OBJ.showRevision(1);
// 显示最终修订
OCX_OBJ.showRevision(2);
// 切换痕迹显示状态
function toggleRevisionDisplay() {
var currentType = OCX_OBJ.showRevision;
var nextType = (currentType + 1) % 3;
OCX_OBJ.showRevision(nextType);
}
完整示例
文档模板管理系统
javascript
// 文档模板管理系统
class DocumentTemplateManager {
// 应用本地模板
static applyLocalTemplate(templatePath, allowUserSelect = false) {
OCX_OBJ.AddTemplateFromLocal(templatePath, allowUserSelect, true);
}
// 应用远程模板
static applyRemoteTemplate(templateUrl, confirmConversion = true) {
OCX_OBJ.AddTemplateFromURL(templateUrl, confirmConversion);
}
// 填充书签数据
static fillBookmarks(data) {
for (var key in data) {
OCX_OBJ.SetBookmarkValue(key, data[key]);
}
}
// 获取书签数据
static getBookmarkData(bookmarkNames) {
var data = {};
bookmarkNames.forEach(function(name) {
data[name] = OCX_OBJ.GetBookmarkValue(name);
});
return data;
}
}
// 痕迹管理工具
class RevisionManager {
// 启用痕迹保留
static enableTracking() {
OCX_OBJ.TrackRevisions(true);
}
// 禁用痕迹保留
static disableTracking() {
OCX_OBJ.TrackRevisions(false);
}
// 启用强制痕迹保留
static enableProtectedRevision(password = null) {
OCX_OBJ.EnterRevisionMode(true, password);
}
// 禁用强制痕迹保留
static disableProtectedRevision() {
OCX_OBJ.EnterRevisionMode(false);
}
// 设置痕迹显示状态
static setRevisionDisplay(type) {
OCX_OBJ.showRevision(type);
}
// 切换痕迹显示
static toggleRevisionDisplay() {
var types = [0, 1, 2]; // 显示修订、原始修订、最终修订
var currentType = 0; // 假设当前状态
var nextType = types[(types.indexOf(currentType) + 1) % types.length];
OCX_OBJ.showRevision(nextType);
}
}
套红功能实现
javascript
// 套红功能实现
function implementRedlining() {
// 1. 应用模板
function applyTemplate(templatePath) {
OCX_OBJ.AddTemplateFromLocal(templatePath, false, true);
}
// 2. 填充数据
function fillTemplateData(data) {
DocumentTemplateManager.fillBookmarks(data);
}
// 3. 启用痕迹保留
function enableRevisionTracking() {
RevisionManager.enableTracking();
}
// 4. 设置显示状态
function setDisplayMode(mode) {
RevisionManager.setRevisionDisplay(mode);
}
// 完整套红流程
function completeRedliningProcess(templatePath, data) {
// 应用模板
applyTemplate(templatePath);
// 填充数据
fillTemplateData(data);
// 启用痕迹保留
enableRevisionTracking();
// 设置显示模式
setDisplayMode(0); // 显示修订
}
}
文档处理工作流
javascript
// 文档处理工作流
function documentProcessingWorkflow() {
// 1. 创建新文档
function createNewDocument() {
// 创建新文档的逻辑
}
// 2. 应用模板
function applyDocumentTemplate(templateType) {
var templates = {
"合同": "./templates/合同模板.docx",
"报告": "./templates/报告模板.docx",
"通知": "./templates/通知模板.docx"
};
if (templates[templateType]) {
OCX_OBJ.AddTemplateFromLocal(templates[templateType]);
}
}
// 3. 填充文档数据
function populateDocumentData(documentData) {
DocumentTemplateManager.fillBookmarks(documentData);
}
// 4. 启用修订模式
function enableDocumentRevision() {
RevisionManager.enableTracking();
RevisionManager.enableProtectedRevision("admin123");
}
// 5. 设置显示状态
function configureDisplaySettings() {
RevisionManager.setRevisionDisplay(0); // 显示修订
}
// 完整工作流
function executeWorkflow(templateType, data) {
createNewDocument();
applyDocumentTemplate(templateType);
populateDocumentData(data);
enableDocumentRevision();
configureDisplaySettings();
}
}
注意事项
书签操作:
- 书签名称区分大小写
- 确保书签在文档中存在
- 书签值只能是字符串类型
模板操作:
- 本地模板路径必须是完整路径
- 网络模板需要确保URL可访问
- 模板文件格式要正确
痕迹保留:
- TrackRevisions是普通痕迹保留
- EnterRevisionMode是强制痕迹保留
- 强制痕迹保留可以设置密码保护
显示状态:
- 0:显示修订(推荐)
- 1:显示原始修订
- 2:显示最终修订
套红功能:
- 先应用模板,再填充数据
- 启用痕迹保留以记录修改
- 设置合适的显示状态
错误处理:
- 检查书签是否存在
- 验证模板文件路径
- 处理网络连接问题
性能优化:
- 批量操作书签
- 合理使用痕迹保留
- 避免频繁切换显示状态