Skip to content

文档信息和行为控制相关属性

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没有文档控件中没有打开任何文档
1WordWord文档
2Excel.Sheet/ChartExcel工作表或图表
3PowerPoint.ShowPowerPoint演示文稿
4Visio.DrawingVisio绘图
5MSProject.ProjectMS Project项目
6WPS Doc金山WPS文档
7Kingsoft.Sheet金山ET电子表
51PDFPDF文档
52TIF/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文档
1Word文件
2Excel文件
3PowerPoint演示文稿
4Visio文件
5Project文件
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打开
IsOpenURLReadOnlyURL文档是否只读
WebUserNameWeb用户名
界面控制IsShowFileErrorMsg显示文件错误对话框
IsShowDocStatusInfo显示文档状态信息
IsShowOpeningDocUI显示打开文档提示
系统控制OfficeBitSetOffice位数设置
IsExitOfficeProcessWhenClose关闭时结束进程
IsPrintToRealPrinterOnly仅允许实体打印机

注意事项

  1. 文档类型检查:在使用ActiveDocument前,建议先检查DocType确认文档类型
  2. 状态码处理:StatusCode为0表示成功,其他值表示不同类型的错误
  3. 全屏模式:全屏模式下需要重载alert方法以避免对话框被隐藏
  4. 安全控制:IsStrictNoCopy比IsNoCopy更严格,建议根据需要选择
  5. Office版本兼容性:PDF转换功能需要Office 2007及以上版本支持
  6. 位数匹配:OfficeBitSet需要与浏览器位数匹配才能正常工作