aardio 文档

com.dsoFramer 库模块帮助文档

必读

dsoframer3 aardio 维护版

仅支持 aardio v46.8.0 以上版本

使用 VS 2019 构建的私有 dsoframer3.ocx,CLSID、LIBID、接口和事件 GUID 均与旧版区分。 仅通过 com.lite.appData 从库内嵌资源免注册加载,不需要注册 OCX,也不通过旧版 ProgID 查找控件。 控件默认隐藏边框(borderStyle = 0)、菜单栏、标题栏与工具条(toolbars = false); 如需显示 Office/WPS 的 Ribbon 工具栏,可将 toolbars 设为 true。 仍需安装支持嵌入的 Office/WPS;本机文档服务器的注册与运行状态仍会影响打开文档。

close() 关闭当前嵌入文档并自动释放已缓存的 activeDocument 与事件连接。 save() 无参数时原位保存到打开路径;传入路径时另存到目标文件(Word 自动识别 .docx/.docm/.dotx/.rtf 格式)。 需要显式指定保存格式枚举值时可使用 saveAs(io.fullpath(path), format)。 打开及保存由 Office/WPS 同步完成;建议先显示宿主窗口,以便看见登录或其他交互提示。

Word 文档对象请参考: https://docs.microsoft.com/en-us/office/vba/api/word.document

Excel 文档对象请参考: https://docs.microsoft.com/en-us/office/vba/api/excel.workbook

PowerPoint 文档对象请参考: https://docs.microsoft.com/en-us/office/vba/api/powerpoint.presentation

相关库: fsys.openXml, com.excel, com.doc, com.powerPoint

许可证:

~\lib\com\dsoFramer\.res\LICENSE.TXT ~\lib\com\dsoFramer\.res\ms-KB311765-eula.txt

com 成员列表 #

com.dsoFramer #

基于 DsoFramer 维护的 aardio 3.0 控件,
用于嵌入 Office/WPS 文档,仍依赖本机文档服务器。
使用 VS 2019 构建,独立 COM 标识,仅通过 com.lite 免注册加载。
可内嵌到 EXE 发布;不使用系统注册的旧版 dsoFramer。
不同 Office/WPS 版本及 DPI 环境仍需实际验证。

com.dsoFramer() #

返回对象:comDsoFramerObject

com.dsoFramer(winform) #

参数是窗体或控件对象

comDsoFramerObject 成员列表 #

comDsoFramerObject.BeforeDocumentClosed #

comDsoFramerObject.BeforeDocumentClosed = function(document,cancel){
    /*当文档关闭前触发,  
返回 true 取消关闭*/  
}

comDsoFramerObject.BeforeDocumentSaved #

comDsoFramerObject.BeforeDocumentSaved = function(document,location,cancel){
    /*当文档保存前触发,  
返回 true 取消保存*/  
}

comDsoFramerObject.Insert("文件") #

插入文件到当前位置,
如果文件是图像,请将参数@2指定为true

comDsoFramerObject.InsertFront("文件") #

插入文件到头部,
如果文件是图像,请将参数@2指定为true

comDsoFramerObject.InsertRear("文件") #

插入文件到尾部,
如果文件是图像,请将参数@2指定为true

comDsoFramerObject.OnDocActivated #

comDsoFramerObject.OnDocActivated = function(isActivated){
    /*当组件激活或取消激活时触发*/ 
}

comDsoFramerObject.OnDocumentClosed #

comDsoFramerObject.OnDocumentClosed = function(){
    /*当文档关闭时调用*/    
}

comDsoFramerObject.OnDocumentOpened #

comDsoFramerObject.OnDocumentOpened = function( path, document){
    /*新建或打开文档触发此事件*/
}

comDsoFramerObject.OnFileCommand #

comDsoFramerObject.OnFileCommand = function(item,cancel){
    /*用户选择菜单命令触发,  
可通过返回 cancel 值为 true 取消命令*/   
}

comDsoFramerObject.OnPPTBeforeRightClick #

comDsoFramerObject.OnPPTBeforeRightClick = function(selection,isCancel){
    /* */       
}

comDsoFramerObject.OnPrintPreviewExit #

comDsoFramerObject.OnPrintPreviewExit = function(){
    /*打印预览关闭时触发*/ 
}

comDsoFramerObject.OnScreenModeChanged #

comDsoFramerObject.OnScreenModeChanged = function(isFullScreenMode){
    /*用户选择菜单命令触发,  
可通过返回 cancel 值为 true 取消命令*/   
}

comDsoFramerObject.OnSheetBeforeDoubleClick #

comDsoFramerObject.OnSheetBeforeDoubleClick = function(sheetName, row, col, cancel){
    /* */       
}

comDsoFramerObject.OnSheetBeforeRightClick #

comDsoFramerObject.OnSheetBeforeRightClick = function(sheetName, row, col, cancel){
    /* */       
}

comDsoFramerObject.OnSheetChange #

comDsoFramerObject.OnSheetChange = function(sheetName, row, col){
    /* */       
}

comDsoFramerObject.OnSheetselectionChange #

comDsoFramerObject.OnSheetselectionChange = function(sheetName,row, col){
    /* */       
}

comDsoFramerObject.OnWordBeforeDoubleClick #

comDsoFramerObject.OnWordBeforeDoubleClick = function(selection,isCancel){
    /* */       
}

comDsoFramerObject.OnWordBeforeRightClick #

comDsoFramerObject.OnWordBeforeRightClick = function(selection,isCancel){
    /* */       
}

comDsoFramerObject.OnWordWPSSelChange #

comDsoFramerObject.OnWordWPSSelChange = function(selection){
    /* */       
}

comDsoFramerObject.SaveAsTypes() #

获取发前活动文档可用的所有保存格式选项,
可用于 saveAs 函数的每 2 个参数,
可以通过activeDocument 获取格式选项,例如 activeDocument.ppSaveAsRTF

comDsoFramerObject._form #

返回对象:winform

comDsoFramerObject._object #

DsoFramer控件

comDsoFramerObject.activeDocumentTypeName() #

当前活动文档类型名称,
可能的返回值: "PowerPoint","Excel","Word"
如果当前是无效的文档,返回 null

comDsoFramerObject.addMark(书签名,值) #

= 添加书签

comDsoFramerObject.backColor #

背景颜色

comDsoFramerObject.borderColor #

边框颜色

comDsoFramerObject.borderStyle #

边框样式,默认为 0(无边框),可选数值:
dsoBorderNone = 0
dsoBorderFlat = 1
dsoBorder3D = 2
dsoBorder3DThin = 3

comDsoFramerObject.close() #

关闭当前嵌入文档,支持 BeforeDocumentClosed 取消关闭事件
通过正常 OLE 关闭与释放,不强杀 Office/WPS 进程

comDsoFramerObject.createNewExcel() #

创建新EXCEL文档

comDsoFramerObject.createNewWord() #

创建新WORD文档

comDsoFramerObject.delMark(书签名,值) #

删除书签

comDsoFramerObject.deleteLocalFile(文件路径) #

删除本地文件

comDsoFramerObject.documentFullName #

文档名

comDsoFramerObject.foreColor #

前景颜色

comDsoFramerObject.getMark(书签名,值) #

定位书签

comDsoFramerObject.getRevCount() #

返回修证次数

comDsoFramerObject.getRevInfo(index,lType) #

返回修订详情

comDsoFramerObject.getTempFilePath() #

返回临时文件路径

comDsoFramerObject.hwndControl #

控件窗口

comDsoFramerObject.hwndDoc #

文档窗口

comDsoFramerObject.isDirty #

是否修改

comDsoFramerObject.isReadOnly #

是否只读

comDsoFramerObject.modalState #

模态状态

comDsoFramerObject.officeVersion #

office版本

comDsoFramerObject.openFile("文件","Word.Document") #

打开各种 office 文件,参数2为可选参数,
如果不指定参数@2,则根据后缀名自动设置,
打开文件后使用 activeDocument 属性操作文档对象

comDsoFramerObject.openUrl("网址","Word.Document",用户名,密码) #

参数2为可选参数,
如果不指定参数@2,则根据后缀名自动设置,
打开文件后使用 activeDocument 属性操作文档对象

comDsoFramerObject.protectDoc(_wdAllow,"PWD") #

保护文档

comDsoFramerObject.save("文件",true) #

保存当前文档。省略参数时原位保存;
指定文件路径时另存为目标文件(参数@2为true允许覆盖,Word自动按后缀名匹配.docx/.doc/.rtf等格式)

comDsoFramerObject.saveAs("文件",格式选项) #

保存文档,
可用的格式选项使用 SaveAsTypes 函数查看,
可以通过activeDocument 获取格式选项,例如 activeDocument.ppSaveAsRTF

保存文档,见下面的常量列表

comDsoFramerObject.setCurrTime("时间") #

设置当前时间

comDsoFramerObject.setDocVariable(name,value,opt) #

设置文档变量,opt可使用二进制数值:
第一位为1: 表示update域关联的,
第二位为1: 表示如果没有这个变量则添加

comDsoFramerObject.setFieldFile(书签名,值) #

插入文件

comDsoFramerObject.setFieldFile(书签名,值,命令) #

设置和创建书签
此函数用法建议查看一下源码,
参考其他几个调用这个函数的函数

comDsoFramerObject.setFieldJpg(书签名,值) #

插入图像

comDsoFramerObject.setMenuDisplay(_MNU) #

设置菜单
可以使用按位或的多个选项

comDsoFramerObject.setPageAs(strLocalFile,lPageNum,lType) #

分页保存

comDsoFramerObject.setValue(value,name) #

设置基本信息,
例如设置只读密码 setValue("password","::DOCPROP:PassWord")
设置修改密码 setValue("password","::DOCPROP:WritePW")

comDsoFramerObject.showDialog(dlgType) #

显示对话框,
@dlgType 指定对话框类型,数值:
dsoDialogNew = 0
dsoDialogOpen = 1
dsoDialogSave = 2
dsoDialogSaveCopy = 3
dsoDialogPrint = 4
dsoDialogPageSetup = 5
dsoDialogProperties = 6

comDsoFramerObject.showMasterView() #

大纲视图

comDsoFramerObject.showNormalView() #

标准视图

comDsoFramerObject.showOutlineView() #

大纲视图

comDsoFramerObject.showPrintPreview() #

打印预览视图

comDsoFramerObject.showPrintView() #

打印视图

comDsoFramerObject.showRevisions(true) #

是否显示修订留痕

comDsoFramerObject.showView(viewType) #

设置文档显示模式,
建议改用 showNormalView,showOutlineView 等函数

comDsoFramerObject.showWebView() #

显示web视图

comDsoFramerObject.toolbars #

是否显示工具栏(Office/WPS 功能区),默认为 false

comDsoFramerObject.unProtectDoc(_wdAllow,"PWD") #

解保护文档

comDsoFramerObject._host 成员列表 #

comDsoFramerObject._host._adjust() #

自动调整控件窗口大小

comDsoFramerObject._host.doObjectVerb( _OLEIVERB ) #

执行指定的动词命令

comDsoFramerObject._host.tranacc(MSG消息对象) #

解析快捷键,
如果是快捷键返回真值

comDsoFramerObject.activeDocument 成员列表 #

活动文档
Word 文档对象 https://docs.microsoft.com/en-us/office/vba/api/word.document
Excel 文档对象 https://docs.microsoft.com/en-us/office/vba/api/excel.workbook
PowerPoint 文档对象 https://docs.microsoft.com/en-us/office/vba/api/powerpoint.presentation

当前文档对象

comDsoFramerObject.activeDocument.ActiveSheet #

活动 Excel 表格

返回对象:excelSheetObject

comDsoFramerObject.activeDocument.Charts("字符串参数") #

返回 Excel 指定名称的图表

comDsoFramerObject.activeDocument.DialogSheets("字符串参数") #

返回 Excel 指定名称的对话框工作表

comDsoFramerObject.activeDocument.Names(1) #

返回对象:excelBookNameObject

comDsoFramerObject.activeDocument.Sheets() #

返回对象:excelSheetObject

comDsoFramerObject.activeDocument.Sheets(1) #

返回 Excel 工作簿上的指定工作表

comDsoFramerObject.activeDocument.Subject #

设置 Excel 主题

comDsoFramerObject.activeDocument.Title #

设置 Excel 标题

comDsoFramerObject.activeDocument.Worksheets("字符串参数") #

返回 Excel 指定名称的工作表

comDsoFramerObject.activeDocument.close() #

关闭 Excel 工作簿

comDsoFramerObject.activeDocument.Names 成员列表 #

comDsoFramerObject.activeDocument.Names.count #

Excel 表格名称计数

comDsoFramerObject.activeDocument.Sheets 成员列表 #

返回对象:excelSheetObject

comDsoFramerObject.activeDocument.Sheets.Count #

Excel 工作表总数

comDsoFramerObject.activeDocument.Sheets.Item() #

返回指定的 Excel 工作表

comDsoFramerObject.activeDocument.SlideShowSettings 成员列表 #

comDsoFramerObject.activeDocument.SlideShowSettings.Run() #

全屏播放 PPT

自动完成常量

_MNU_CLOSE=4
_MNU_NEW=1
_MNU_OPEN=2
_MNU_PGSETUP=0x64
_MNU_PRINT=0x256
_MNU_PRINTPV=0x126
_MNU_PROPS=0x32
_MNU_SAVE=8
_MNU_SAVEAS=0x16
_dsoBorder3D=2
_dsoBorder3DThin=3
_dsoBorderFlat=1
_ppSaveAsAddIn=8
_ppSaveAsBMP=0x13
_ppSaveAsDefault=0xB
_ppSaveAsGIF=0x10
_ppSaveAsHTML=0xC
_ppSaveAsHTMLDual=0xE
_ppSaveAsHTMLv3=0xD
_ppSaveAsJPG=0x11
_ppSaveAsMetaFile=0xF
_ppSaveAsPNG=0x12
_ppSaveAsPowerPoint3=4
_ppSaveAsPowerPoint4=3
_ppSaveAsPowerPoint4FarEast=0xA
_ppSaveAsPowerPoint7=2
_ppSaveAsPresentation=1
_ppSaveAsRTF=6
_ppSaveAsShow=7
_ppSaveAsTemplate=5
_wdAllowOnlyComments=1
_wdAllowOnlyFormFields=2
_wdAllowOnlyRevisions=0
_wdFormatDOSText=4
_wdFormatDOSTextLineBreaks=5
_wdFormatDocument=0
_wdFormatEncodedText=7
_wdFormatHTML=8
_wdFormatRTF=6
_wdFormatTemplate=1
_wdFormatText=2
_wdFormatTextLineBreaks=3
_wdFormatUnicodeText=7
_wdMasterView=5
_wdNoProtection=-1
_wdNormalView=1
_wdOutlineView=2
_wdPrintPreview=4
_wdPrintView=3
_wdWebView=6
_xlAddIn=0x12
_xlCSV=6
_xlCSVMSDOS=0x18
_xlCSVMac=0x16
_xlCSVWindows=0x17
_xlCurrentPlatformText=-4158
_xlDBF2=7
_xlDBF3=8
_xlDBF4=0xB
_xlDIF=9
_xlExcel2=0x10
_xlExcel2FarEast=0x1B
_xlExcel3=0x1D
_xlExcel4=0x21
_xlExcel4Workbook=0x23
_xlExcel5=0x27
_xlExcel7=0x27
_xlExcel9795=0x2B
_xlHtml=0x2C
_xlIntlAddIn=0x1A
_xlIntlMacro=0x19
_xlSYLK=2
_xlTemplate=0x11
_xlTextMSDOS=0x15
_xlTextMac=0x13
_xlTextPrinter=0x24
_xlTextWindows=0x14
_xlUnicodeText=0x2A
_xlWJ2WD1=0xE
_xlWJ3=0x28
_xlWJ3FJ3=0x29
_xlWK1=5
_xlWK1ALL=0x1F
_xlWK1FMT=0x1E
_xlWK3=0xF
_xlWK3FM3=0x20
_xlWK4=0x26
_xlWKS=4
_xlWQ1=0x22
_xlWorkbookNormal=-4143
_xlWorks2FarEast=0x1C

Markdown 格式