Appearance
文档信息和行为控制相关属性
ActiveDocument
说明:
只读;返回文档对象的自动化接口。
语法:
javascript
// 读取
var doc = Obj.ActiveDocument;
使用示例:
javascript
// 获取当前文档对象
var doc = Obj.ActiveDocument;
// 向Word文档插入文字
if (doc) {
doc.Application.Selection.TypeText("插入的文字");
}
// 获取Excel工作表的单元格值
if (doc && Obj.DocType === 2) { // Excel文档
var value = doc.ActiveSheet.Cells(1, 1).Value;
console.log("A1单元格的值:", value);
}
WebFileName
说明:
String型字符串;可读写;当点击文档控件保存按钮时,要保存的Word文件的默认文件名。当文档控件从URL打开一个文档,并点击保存或者另存保存到本地时,默认出现在文件选择框中的文件名。
语法:
javascript
// 设置
Obj.WebFileName = "my.doc";
// 读取
var fileName = Obj.WebFileName;
IsShowFileErrorMsg
说明:
布尔型;可读写;是否显示文件存取错误对话框。如果设定控件的 IsShowFileErrorMsg 属性为 false,可以屏蔽出错时的文件存取错误对话框。此时可以通过控件的StatusCode属性获得控件的错误状态,或者通过异常捕获来获得。
语法:
javascript
// 设置
Obj.IsShowFileErrorMsg = true; // 或 false
// 读取
var showError = Obj.IsShowFileErrorMsg;
DocType
说明:
数值型;只读;返回当前控件中的文档类型。
语法:
javascript
// 读取
var docType = Obj.DocType;
文档类型对照表:
值 | 文档类型 | 说明 |
---|---|---|
0 | 没有文档 | 控件中没有打开任何文档 |
1 | Word | Word文档 |
2 | Excel.Sheet/Chart | Excel工作表或图表 |
3 | PowerPoint.Show | PowerPoint演示文稿 |
4 | Visio.Drawing | Visio绘图 |
5 | MSProject.Project | MS Project项目 |
6 | WPS Doc | 金山WPS文档 |
7 | Kingsoft.Sheet | 金山ET电子表 |
51 | PDF文档 | |
52 | TIF/TIFF | 图像文件 |
100 | 其他文档类型 | 其他类型文档 |
DocSize
说明:
数值型;只读;获取当前文档的字节数。
语法:
javascript
// 读取
var size = Obj.DocSize;
IsNoCopy
说明:
布尔型;可读写;控件中的文档是否禁止拷贝;缺省值:FALSE。
IsNoCopy属性只是禁用的office自身的剪贴板,因此可能达不到。
语法:
javascript
// 设置
Obj.IsNoCopy = true; // 或 false
// 读取
var noCopy = Obj.IsNoCopy;
IsStrictNoCopy
说明:
布尔型;可读写;是否严格禁止拷贝;缺省值:FALSE。
IsStrictNoCopy可以用来设置严格的禁止拷贝控件中的内容。该属性从v2.5.3.0版本开始提供。
语法:
javascript
// 设置
Obj.IsStrictNoCopy = true; // 或 false
// 读取
var strictNoCopy = Obj.IsStrictNoCopy;
Data
说明:
Data属性标识文档的内容。设定Obj.Data=data将打开文档。Data是一个Variant类型变量。
该属性主要用于PowerBuilder、Delphi、VB等C/S应用,用来获取文档数据并保存,或者用来使用已经保存的数据恢复打开文档。
语法:
javascript
// 设置
Obj.Data = varData;
// 读取
var data = Obj.Data;
StatusMessage
说明:
String型字符串;只读;返回最后操作的结果字符串。
语法:
javascript
// 读取
var message = Obj.StatusMessage;
StatusCode
说明:
数值型;只读;返回最后操作的结果代码。
语法:
javascript
// 读取
var code = Obj.StatusCode;
状态代码对照表:
代码 | 说明 |
---|---|
0 | 成功 |
1 | 文件错误 |
2 | 网络错误 |
3 | 内存错误 |
4 | 参数错误 |
5 | 从ODBC数据库读写数据错误 |
6 | 从Variant读写数据错误 |
100 | 其他错误 |
DefaultOpenDocType
说明:
数值型;可读写;读取/设定控件打开对话框中默认显示的文档类型,取值0-13。
语法:
javascript
// 设置
Obj.DefaultOpenDocType = 1; // 0-13
// 读取
var docType = Obj.DefaultOpenDocType;
文档类型选项:
值 | 文档类型 |
---|---|
0 | 所有OFFICE文档 |
1 | Word文件 |
2 | Excel文件 |
3 | PowerPoint演示文稿 |
4 | Visio文件 |
5 | Project文件 |
6 | 金山WPS文件 |
7 | 金山ET电子表文件 |
11 | 中标字处理文件 |
12 | 中标电子表格 |
13 | 中标演示文稿 |
注意: 当此属性与方法DefaultAddFileTypes同时使用时,打开类型会以DefaultAddFileTypes定义类型为准。
FullScreenMode
说明:
布尔型;可读写;可以将控件设定为全屏/或者退出全屏状态。
语法:
javascript
// 设置
Obj.FullScreenMode = true; // 或 false
// 读取
var isFullScreen = Obj.FullScreenMode;
注意: 因在全屏模式下,网页对话框可能会被隐藏到全屏窗口之后,因此,如果在全屏模式下用js的alert语句显示网页信息,最好重载js的alert方法。
全屏模式Alert重载示例:
javascript
var oldalert; // 保存未重载之前的alert
function setNtkoAlert() {
try {
oldalert = window.alert;
window.alert = showNtkoAlert; // 重载alert方法为showNtkoAlert
} catch(err) {
alert("err:" + err.number + ":" + err.description);
}
}
function showNtkoAlert(mes) {
var isInFullScreenMode = false;
var ntkoocx = 控件对象;
try {
// 如果不支持全屏属性,以下语句会产生异常
isInFullScreenMode = ntkoocx.FullScreenMode;
} catch(err) {
// 执行这儿说明控件不支持FullScreenMode属性
isInFullScreenMode = false;
}
if(isInFullScreenMode) {
ntkoocx.ShowTipMessage("来自网页的消息", mes);
} else {
oldalert(mes); // 调用未重载的alert提示信息
}
}
// 在页面onload中调用
// <body onload="setNtkoAlert();...">
IsShowFullScreenButton
说明:
布尔型;可读写;可以设定控件是否显示全屏按钮以及全屏后的返回按钮。即使不显示,用户也可以双击控件标题栏来进入/退出全屏模式。
语法:
javascript
// 设置
Obj.IsShowFullScreenButton = true; // 或 false
// 读取
var showButton = Obj.IsShowFullScreenButton;
IsEnableDoubleClickFSM
说明:
布尔型;可读写;可以设定控件是否允许双击切换全屏。默认值True。
语法:
javascript
// 设置
Obj.IsEnableDoubleClickFSM = true; // 或 false
// 读取
var enableDoubleClick = Obj.IsEnableDoubleClickFSM;
IsFullScreenReturnBtnClose
说明:
布尔型;可读写;读取/设置控件全屏时,标题栏右侧返回按钮变为关闭文档按钮。默认值false。
语法:
javascript
// 设置
Obj.IsFullScreenReturnBtnClose = true; // 或 false
// 读取
var returnBtnClose = Obj.IsFullScreenReturnBtnClose;
注意: 关闭按钮只会关闭文档,并触发OnScreenModeChanged事件,如果还需要关闭页面,请在事件中添加关闭页面的JS代码。
WebUserName
说明:
String型字符串;可读写;设定WebUserName属性,可以让控件在激活时,自动将word用户名设定为此属性的值。这个属性主要用于痕迹保留的用户名。此属性仅当打开Word、WPS文档才有效。
语法:
javascript
// 设置
Obj.WebUserName = "用户名";
// 读取
var userName = Obj.WebUserName;
LocalTempFileName
说明:
String型字符串;只读;返回临时文件的全路径。
语法:
javascript
// 读取
var tempFile = Obj.LocalTempFileName;
IsRemoveMacrosOnSave
说明:
布尔型;可读写;读取/设置在保存时是否删除文档中的宏。默认值为True,代表删除宏。
语法:
javascript
// 设置
Obj.IsRemoveMacrosOnSave = true; // 或 false
// 读取
var removeMacros = Obj.IsRemoveMacrosOnSave;
IsShowDocStatusInfo
说明:
布尔型;可读写;读取/设置是否在状态栏显示文档的状态信息。
语法:
javascript
// 设置
Obj.IsShowDocStatusInfo = true; // 或 false
// 读取
var showStatus = Obj.IsShowDocStatusInfo;
IsShowOpeningDocUI
说明:
布尔型;可读写;读取/设置在打开文档时是否显示"正在打开文档,请稍候"的提示框。默认值是TRUE。
语法:
javascript
// 设置
Obj.IsShowOpeningDocUI = true; // 或 false
// 读取
var showOpeningUI = Obj.IsShowOpeningDocUI;
IsEnableOtherPdfViewer
说明:
布尔型;可读写;读取/设置如果没有NTKO PDF阅读器就不允许打开PDF。默认值为true,即没有NTKO PDF阅读器时允许打开PDF文件;设置为false代表不允许打开。
语法:
javascript
// 设置
Obj.IsEnableOtherPdfViewer = true; // 或 false
// 读取
var enableOtherPdf = Obj.IsEnableOtherPdfViewer;
IsUseOfficeConvertDocToPDF
说明:
布尔型;可读写;读取/设置是否使用office自身的功能保存为pdf,默认为false。
语法:
javascript
// 设置
Obj.IsUseOfficeConvertDocToPDF = true; // 或 false
// 读取
var useOfficeConvert = Obj.IsUseOfficeConvertDocToPDF;
注意: OFFICE 2003不支持另存为PDF,所以不支持本属性;OFFICE 2007必须安装微软提供的另存为PDF的补丁才可以支持;OFFICE 2010及以上版本自带此功能。
IsComponentActive
说明:
布尔型;只读;读取控件是否在工作状态。
语法:
javascript
// 读取
var isActive = Obj.IsComponentActive;
IsExitOfficeProcessWhenClose
说明:
布尔型;可读写;读取/设置是否在关闭文档时,结束OFFICE进程。
语法:
javascript
// 设置
Obj.IsExitOfficeProcessWhenClose = true; // 或 false
// 读取
var exitProcess = Obj.IsExitOfficeProcessWhenClose;
IsOpenURLReadOnly
说明:
布尔型;只读;标识在使用OpenFromURL函数打开文档时是否传递了只读参数。
此只读并不是不能修改文档内容,而是文档内容不能保存会服务器,因为保存回服务器的时候不会报错,因此,需要先判断此属性在执行保存会服务器的方法。
语法:
javascript
// 读取
var isReadOnly = Obj.IsOpenURLReadOnly;
IsOpenFromUrl
说明:
布尔型;只读;判断文档是否是从URL打开。
语法:
javascript
// 读取
var isFromUrl = Obj.IsOpenFromUrl;
OfficeBitSet
说明:
布尔型;可读写;设置允许使用的OFFICE位数。1代表32位;2代表64位。
本属性主要用于平台版Plus,需要结合判断浏览器位数的JS代码使用。即强制要求32位的浏览器只能使用32位的OFFICE,64位的浏览器只能使用64位的OFFICE,如果不相同就不能打开文档。
语法:
javascript
// 设置
Obj.OfficeBitSet = 1; // 1或2
// 读取
var officeBit = Obj.OfficeBitSet;
浏览器位数判断示例:
javascript
if(window.navigator.platform == "Win32") {
// 32位浏览器
ntkoocx.OfficeBitSet = 1;
} else {
// 64位浏览器
ntkoocx.OfficeBitSet = 2;
}
注意: 当位数不匹配打不开文档时,会在文档控件状态栏左侧予以提示。
IsPrintToRealPrinterOnly
说明:
布尔型;可读写;读取/设置是否仅允许使用实体打印机打印文档。
语法:
javascript
// 设置
Obj.IsPrintToRealPrinterOnly = true; // 或 false
// 读取
var realPrinterOnly = Obj.IsPrintToRealPrinterOnly;
注意: 本属性默认实体打印设备包括:HP、CANON、ESPON、LENOVO、BROTHER、TOSHIBA、PANASONIC、SAMSUNG。如果还想允许使用其他打印设备,可以通过AddAllowedPrinter方法添加。
综合使用示例
文档状态检查
javascript
// 检查文档状态和类型
function checkDocumentStatus() {
if (Obj.IsComponentActive) {
console.log("控件处于工作状态");
var docType = Obj.DocType;
var docSize = Obj.DocSize;
var statusCode = Obj.StatusCode;
var statusMessage = Obj.StatusMessage;
console.log("文档类型:", docType);
console.log("文档大小:", docSize, "字节");
console.log("状态代码:", statusCode);
console.log("状态消息:", statusMessage);
if (statusCode === 0) {
console.log("操作成功");
} else {
console.log("操作失败,错误代码:", statusCode);
}
} else {
console.log("控件未激活");
}
}
文档安全控制
javascript
// 设置文档安全属性
function setDocumentSecurity() {
// 禁止拷贝
Obj.IsNoCopy = true;
Obj.IsStrictNoCopy = true;
// 设置用户名(用于痕迹保留)
Obj.WebUserName = "当前用户";
// 保存时删除宏
Obj.IsRemoveMacrosOnSave = true;
console.log("文档安全设置完成");
}
全屏模式控制
javascript
// 全屏模式管理
function manageFullScreenMode() {
// 设置全屏相关属性
Obj.IsShowFullScreenButton = true;
Obj.IsEnableDoubleClickFSM = true;
Obj.IsFullScreenReturnBtnClose = false;
// 进入全屏模式
Obj.FullScreenMode = true;
console.log("已进入全屏模式");
}
// 退出全屏模式
function exitFullScreenMode() {
Obj.FullScreenMode = false;
console.log("已退出全屏模式");
}
文档类型和来源检查
javascript
// 检查文档来源和类型
function checkDocumentSource() {
var isFromUrl = Obj.IsOpenFromUrl;
var isReadOnly = Obj.IsOpenURLReadOnly;
var docType = Obj.DocType;
console.log("是否从URL打开:", isFromUrl);
console.log("是否只读:", isReadOnly);
console.log("文档类型:", docType);
if (isFromUrl && isReadOnly) {
console.log("警告:文档为只读模式,无法保存到服务器");
}
}
属性分类总结
分类 | 属性 | 功能 |
---|---|---|
文档信息 | ActiveDocument | 获取文档对象接口 |
DocType | 文档类型 | |
DocSize | 文档大小 | |
LocalTempFileName | 临时文件路径 | |
状态控制 | StatusCode | 操作状态代码 |
StatusMessage | 状态消息 | |
IsComponentActive | 控件工作状态 | |
安全控制 | IsNoCopy | 禁止拷贝 |
IsStrictNoCopy | 严格禁止拷贝 | |
IsRemoveMacrosOnSave | 保存时删除宏 | |
全屏控制 | FullScreenMode | 全屏模式 |
IsShowFullScreenButton | 显示全屏按钮 | |
IsEnableDoubleClickFSM | 双击切换全屏 | |
文档来源 | IsOpenFromUrl | 是否从URL打开 |
IsOpenURLReadOnly | URL文档是否只读 | |
WebUserName | Web用户名 | |
界面控制 | IsShowFileErrorMsg | 显示文件错误对话框 |
IsShowDocStatusInfo | 显示文档状态信息 | |
IsShowOpeningDocUI | 显示打开文档提示 | |
系统控制 | OfficeBitSet | Office位数设置 |
IsExitOfficeProcessWhenClose | 关闭时结束进程 | |
IsPrintToRealPrinterOnly | 仅允许实体打印机 |
注意事项
- 文档类型检查:在使用ActiveDocument前,建议先检查DocType确认文档类型
- 状态码处理:StatusCode为0表示成功,其他值表示不同类型的错误
- 全屏模式:全屏模式下需要重载alert方法以避免对话框被隐藏
- 安全控制:IsStrictNoCopy比IsNoCopy更严格,建议根据需要选择
- Office版本兼容性:PDF转换功能需要Office 2007及以上版本支持
- 位数匹配:OfficeBitSet需要与浏览器位数匹配才能正常工作