aardio 文档

aardio 范例: dsoFramer 嵌入 Office 文档

Word 文档对象 | Excel 文档对象 | PowerPoint 文档对象

//dsoFramer 嵌入 Office 文档
import win.ui;
/*DSG{{*/
mainForm = win.form(text="dsoFrame控件测试";right=1191;bottom=769;bgcolor=0xFAFAFA)
mainForm.add(
btnExcel={cls="button";text="创建表格";left=40;top=710;right=162;bottom=755;anchors={left=1;bottom=1};z=2};
button={cls="button";text="打开文档、表格、或幻灯片";left=187;top=711;right=384;bottom=756;anchors={left=1;bottom=1};z=4};
chkToolbars={cls="checkbox";text="显示工具条";left=415;top=721;right=518;bottom=748;anchors={left=1;bottom=1};bgcolor=0xFAFAFA;z=3};
custom={cls="custom";text="自定义控件";left=0;top=7;right=1186;bottom=690;anchors={left=1;top=1;right=1;bottom=1};bgcolor=0xFFFFFF;z=1}
)
/*}}*/

mainForm.show(0x3/*_SW_MAXIMIZE*/);

import com.dsoFramer;
var dsoFrame = com.dsoFramer(mainForm.custom);

//新建或打开文档触发此事件
dsoFrame.OnDocumentOpened = function( path, document){
    mainForm.text = #path ? path : "新文档"
}

mainForm.btnExcel.oncommand = function(id,event){
    dsoFrame.createNewExcel();

    dsoFrame.activeDocument.Sheets[1].Cells[1,1].Value = "测试一下"; 
    /*
    dsoFrame.activeDocument 的用法请参考:

    Word 文档对象:
    https://learn.microsoft.com/en-us/office/vba/api/word.document

    Excel 文档对象: 
    https://learn.microsoft.com/en-us/office/vba/api/excel.workbook

    PowerPoint 文档对象: 
    https://learn.microsoft.com/en-us/office/vba/api/powerpoint.presentation
    */  

    //监听文档事件
    com.Connect(dsoFrame.activeDocument,{ 
        SheetSelectionChange = function(sheet,targetRange){

        };
        SheetBeforeDoubleClick = function(sheet,targetRange,Cancel){

        }; 
        SheetChange = function(sheet,targetRange){
            //https://docs.microsoft.com/en-us/office/vba/api/excel.workbook.sheetchange 
            mainForm.text = "修改了:"+ targetRange.getValue2();
        };
    })
}

mainForm.chkToolbars.oncommand = function(id,event){
    dsoFrame.toolbars = mainForm.chkToolbars.checked;   
}

import fsys.dlg;
mainForm.button.oncommand = function(id,event){
    var path = fsys.dlg.open("Word 文档|*.doc;*.docx|Excel 表格|*.xls;*.xlsx|演示文稿|*.ppt;*.pptx||","打开 Office 文档");
    if(path) {
        dsoFrame.openFile(path);

        //如果打开的是 PPT
        if(dsoFrame.activeDocumentTypeName() == "PowerPoint"){
            //自动全屏播放
            dsoFrame.activeDocument.SlideShowSettings.Run();
        } 
    }
}


return win.loopMessage();

Markdown 格式