收藏 分销(赏)

DSOFramer原有的接口说明.doc

上传人:仙人****88 文档编号:9411347 上传时间:2025-03-25 格式:DOC 页数:18 大小:98KB 下载积分:10 金币
下载 相关 举报
DSOFramer原有的接口说明.doc_第1页
第1页 / 共18页
DSOFramer原有的接口说明.doc_第2页
第2页 / 共18页


点击查看更多>>
资源描述
DSOFramer原有的接口说明 DSOFramer原有的接口说明 =================================================================== DSOFramer原有的接口说明 1.void CreateNew(BSTR ProgIdOrTemplate)   新建文档,   其中: ProgIdOrTemplate参数: Excel Spreadsheet     "Excel.Sheet" Excel Chart        "Excel.Chart" PowerPoint Presentation  "owerPoint.Show" Project Project      "MSProject.Project" Visio Drawing       "Visio.Drawing" Word Document       "Word.Document" 2.  HRESULT Open([in] VARIANT Document, [in, optional] VARIANT ReadOnly, [in, optional] VARIANT ProgId, [in, optional] VARIANT WebUsername, [in, optional] VARIANT WebPassword)     打开文档,可以是本地文件或者是服务器文件 参数: Document  文档路径 ReadOnly  是否已只读模式打开 ProgId    OLE类型 WebUsername  用户名(访问网络的文件时候,有可能需要) WebPassword  密码 例子: DsoFramer1.Open "C:\TestBook.xls" DsoFramer1.Open "C:\Plain.txt", , "Word.Document"  //用Word来打开c:\plain.txt文件 DsoFramer1.Open "https://secureserver/test/mytest.asp?id=123", True, "Excel.Sheet", "MyUserAccount", "MyPassword" 3.HRESULT Save([in, optional] VARIANT SaveAsDocument, [in, optional] VARIANT OverwriteExisting,                 [in, optional] VARIANT WebUsername, [in, optional] VARIANT WebPassword); 保存文件在本地 DsoFramer1.Save "c:\1.doc" 4.Activate 激活当前文档,没搞明白有什么用 5.  HRESULT ActiveDocument([out,retval] IDispatch** ppdisp); 返回当前活动文档的Dispatch接口,这个接口很重要,可以通过这个接口,操作所有的文档接口。 如:下面 javascript 语句调用Office内置的对话框 var obj; obj = new Object(document.all.FramerControl1.ActiveDocument); if(obj !=null){ var dd; dd = obj.Application.Dialogs(84).Show();//弹出保存对话框 dd = obj.Application.Dialogs(80).Show();//弹出打开对话框 dd = obj.Application.Selection.EndKey(6);//光标移到行尾 dd = obj.Application.Selection.WholeStory();//文档全选 var str =obj.Application.ActiveDocument.Words(1);// 选择当前文档中的第一个词 var str =obj.Application.Selection.Sentences.Item(1); 所选区域中的第一句的内容 var str =obj.Application.ActiveDocument.Paragraphs(1).Range.Text;// 返回当前文档中第一段的内容 obj.Application.Selection.InlineShapes.AddOLEObject("Equation.3");//插入公式对象 //... ... //delete it delete obj; } 6.  HRESULT Close(); 关闭当前文档,建议在页面关闭的时候调用。 MS的原来的版本,有时候关不掉Word,已经修复了。 7.  HRESULT Caption([out,retval] BSTR* pbstr); 属性,获取|设置窗口标题 8.  HRESULT Titlebar([in] boolean vbool);    HRESULT Titlebar([out,retval] boolean* pbool);    显示或者隐藏标题栏 9. HRESULT Toolbars([in] boolean vbool);   HRESULT Toolbars([out,retval] boolean* pbool);    显示或者隐藏工具栏 10.  HRESULT ModalState([in] boolean vbool);    HRESULT ModalState([out,retval] boolean* pbool); 11.HRESULT ShowDialog([in] dsoShowDialogType DlgType);   显示对话框 12.HRESULT EnableFileCommand([in] dsoFileCommandType Item, [in] boolean vbool);   HRESULT EnableFileCommand([in] dsoFileCommandType Item, [out,retval] boolean* pbool); 13.  HRESULT BorderStyle([in] dsoBorderStyle style);   HRESULT BorderStyle([out, retval] dsoBorderStyle* pstyle); 14.  HRESULT BorderColor([in] OLE_COLOR clr);   HRESULT BorderColor([out,retval] OLE_COLOR* pclr); 15. HRESULT BackColor([in] OLE_COLOR clr);   HRESULT BackColor([out,retval] OLE_COLOR* pclr); 16.HRESULT ForeColor([in]OLE_COLOR clr);   HRESULT ForeColor([out,retval]OLE_COLOR* pclr); 17.HRESULT TitlebarColor([in] OLE_COLOR clr); HRESULT TitlebarColor([out,retval] OLE_COLOR* pclr); 18.HRESULT TitlebarTextColor([in] OLE_COLOR clr);    HRESULT TitlebarTextColor([out,retval] OLE_COLOR* pclr); 19.HRESULT ExecOleCommand([in] LONG OLECMDID, [in, optional] VARIANT Options, [in, optional] VARIANT* vInParam, [in, out, optional] VARIANT* vInOutParam); 20.HRESULT Menubar([in] boolean vbool);   HRESULT Menubar([out,retval] boolean* pbool); 21.HRESULT HostName([in] BSTR bstr);   HRESULT HostName([out,retval] BSTR* pbstr);    22. HRESULT DocumentFullName([out,retval] BSTR* pbstr);    文档的路径 23.HRESULT PrintOut([in, optional] VARIANT PromptUser, [in, optional] VARIANT PrinterName, [in, optional] VARIANT Copies,     [in, optional] VARIANT FromPage, [in, optional] VARIANT ToPage, [in, optional] VARIANT OutputFile); 24.HRESULT PrintPreview();     25.HRESULT PrintPreviewExit(); 26.HRESULT IsReadOnly([out,retval] boolean* pbool);    是否为只读的。 27.HRESULT IsDirty([out,retval] boolean* pbool);    是否保存了,实际可以用来判读文档有没有修改    oframer.IsDirty = TRUE //文档没有保存,处于修改状态     oframer.IsDirty = FALSE //文档已经保存,没有修改 新加的接口说明(开发接口) 当前版本:V2.2.0.8   2007-02-07 下载控件需要登录 说明: 控件未经大批量测试,难免有Bug, 发现 Bug,请及时发帖或者Mail:wanhhf@ 版本修改记录: V2.2.0.8修改: 增加了N多个事件,挺不错的东西                 [id(DSOF_DISPID_WORD_DocumentChange), helpstring("DSOF_DISPID_WORD_DocumentChange")]                 HRESULT WORD_DocumentChange();                 [id(DSOF_DISPID_WORD_DocumentBeforePrint), helpstring("DSOF_DISPID_WORD_DocumentBeforePrint")]                 HRESULT WORD_DocumentBeforePrint();                 [id(DSOF_DISPID_WORD_WindowActivate), helpstring("DSOF_DISPID_WORD_WindowActivate")]                 HRESULT WORD_WindowActivate();                 [id(DSOF_DISPID_WORD_WindowSelectionChange), helpstring("DSOF_DISPID_WORD_WindowSelectionChange")]                 HRESULT WORD_WindowSelectionChange();                 [id(DSOF_DISPID_WORD_WindowBeforeRightClick), helpstring("DSOF_DISPID_WORD_WindowBeforeRightClick")]                 HRESULT WORD_WindowBeforeRightClick();                 [id(DSOF_DISPID_WORD_WindowBeforeDoubleClick), helpstring("DSOF_DISPID_WORD_WindowBeforeDoubleClick")]                 HRESULT WORD_WindowBeforeDoubleClick(); V2.2.0.6修改: 修改Open,参数为空时候,一个小 Bug                 修改了URL过长时候一个Bug                 增加了一个替换文字的接口                 long ReplaceText(BSTR strSearchText, BSTR strReplaceText,  long lGradation); V2.2.0.2修改: 修改了HttpPost相对路径的一些问题。    V2.2.0.0增加:                 [id(0x00010041), helpstring("Get Rev Index")]                 HRESULT GetRevCount( [out,retval] long * pbool);                 [id(0x00010042), helpstring("Get Rev Index Info")]                 HRESULT GetRevInfo([in] long lIndex, [in]  long lType, [out,retval] BSTR* pbool);                 [id(0x00010043), helpstring("Set Doc Prop")]                 HRESULT SetValue([in] BSTR strValue, [in]  BSTR strName, [out,retval] long* pbool);                 [id(0x00010044), helpstring("Set Doc Variable")]                 HRESULT SetDocVariable([in] BSTR strVarName, [in]  BSTR strValue,[in] long lOpt, [out,retval] long* pbool);                 [id(0x00010045), helpstring("Save page To Doc")]                 HRESULT SetPageAs([in] BSTR strLocalFile, [in]  long lPageNum, [in]  long lType,[out,retval] long* pbool); -------------------------------------------------------------------------------------------------------------------------------------------------------------------- LoadDso.js var s = "" s += "<OBJECT id=DSOFramer align='middle' style='LEFT: 0px; WIDTH: 100%; TOP: 0px; HEIGHT: 100%'" s += "classid=clsid:00460182-9E5E-11D5-B7C8-B8269041DD57 codeBase=DSOFramer.ocx#Version=2,2,0,6' >" s += "</OBJECT>" document.write(s) -------------------------------------------------------------------------------------------------------------------------------------------------------------------- 接口文档: /* 1.新建 */ //新建Word document.all.FramerControl1.CreateNew("Word.Document"); //新建Excel document.all.FramerControl1.CreateNew("Excel.Sheet"); /* 2.打开文件 */ //打开制定的本地文件 document.all.FramerControl1.Open("C:\\TestBook.xls"); //制定用Word来打开c:\plain.txt文件 document.all.FramerControl1.Open("C:\\Plain.txt",false, "Word.Document"); //打开服务器的文件 document.all.FramerControl1.Open "https://secureserver/test/mytest.asp?id=123",true, "Excel.Sheet", "MyUserAccount", "MyPassword"); //打开服务器的文件 document.all.FramerControl1.Open("http://localhost/1.doc", true); /* 3.保存文件 */ //到本地 document.all.FramerControl1.Save("c:\\1.doc",true); //服务器    /*增加Http协议Post上传接口,可以Post一个动态页面(jsp,asp,php...),由动态页面负责解析数据 bool HttpInit(); bool HttpAddPostString(BSTR strName, BSTR strValue); bool HttpAddPostCurrFile(BSTR strFileID, BSTR strFileName); BSTR HttpPost(BSTR bstr);         */ //初始化Http引擎 document.all.FramerControl1.HttpInit(); //增加Post变量 document.all.FramerControl1.HttpAddPostString("RecordID","20060102200"); document.all.FramerControl1.HttpAddPostString("UserID","李局长"); //上传打开的文件 document.all.FramerControl1.HttpAddPostCurrFile("FileData", "文档名.doc"); //执行上传动作 document.all.FramerControl1.HttpPost(" /* 4.修订留痕 */ //进入留痕状态 document.all.FramerControl1.SetTrackRevisions(1); //进入非留痕状态 document.all.FramerControl1.SetTrackRevisions(0); //接受当前修订 document.all.FramerControl1.SetTrackRevisions(4); /* 5.设置当前用户 */ document.all.FramerControl1.SetCurrUserName("张三");         /* 6.设置当前时间(笔迹留痕会显示("Like 2006:02:07 11:11:11") */ document.all.FramerControl1.SetCurrTime("2006:02:07 11:11:11"); /* 7.设置和创建书签,此功能比较强大,设置书签数据、添加书签和添加红头文件就靠他了 SetFieldValue(BSTR strFieldName, BSTR strValue, BSTR strCmdOrSheetName) strFieldName:书签名 strValue:要设置的值 strCmdOrSheetName: 命令 ::ADDMARK::    添加BookMark :ELMARK::          删除这个BookMark ::GETMARK::    定位到这个BookMark ::FILE::                         插入的是文件 ::JPG::        插入的是图片 一般来说:WORD中书签是做好的,可以通过此接口把外界数据设置进书签中去。 */ //在当前WORD位置插入标签,标签名为"book1",数值为"test" document.all.FramerControl1.SetFieldValue("book1","test","::ADDMARK::"); //设置书签"Time",数值为"2006-03-16 22:22:22" document.all.FramerControl1.SetFieldValue("Time","2006-03-16 22:22:22",""); //在书签位置"hongtou",插入红头文件"http://222.222.222.222/hongtou1.doc" 这样,红头就自动插进去了 document.all.FramerControl1.SetFieldValue("hongtou","http://222.222.222.222/hongtou1.doc","::FILE::"); /* 8.设置菜单显示情况 BOOL SetMenuDisplay(long lMenuFlag) lMenuFlag为以下数值的组合 #define MNU_NEW                         0x01 #define MNU_OPEN                        0x02 #define MNU_CLOSE                       0x04 #define MNU_SAVE                        0x08 #define MNU_SAVEAS                      0x16 #define MNU_PGSETUP                     0x64 #define MNU_PRINT                       0x256 #define MNU_PROPS                       0x32 #define MNU_PRINTPV                     0x126 */ //只有“新建”菜单可用 document.all.FramerControl1..SetMenuDisplay(1); //只有“打开”菜单可用 document.all.FramerControl1.SetMenuDisplay(2); //只有“打开”和“新建”菜单可用 document.all.FramerControl1.SetMenuDisplay(3); /* 9.保护文档和解保护文档 lProOrUn:1:保护文档;0:解除保护 lProType:       wdNoProtection = -1,     wdAllowOnlyRevisions = 0,     wdAllowOnlyComments = 1,     wdAllowOnlyFormFields = 2 strProPWD:密码 */ //完全保护文档,密码为"pwd"    document.all.FramerControl1.ProtectDoc(1,1,"pwd"); //解除文档保护                  document.all.FramerControl1.ProtectDoc(0,1,"pwd"); /* 10.显示或隐藏修订内容 ShowRevisions(long nNewValue) nNewValue = 0 则隐藏修订           = 1 则显示修订全额13 */ //显示修订留痕 document.all.FramerControl1.ShowRevisions(1);222请问王企鹅 //隐藏修订留痕123123 document.all.FramerControl1.ShowRevisions(0); /* 11.插入合并文件, strFieldPath 文件路径,可以是http,ftp的路径 pPos = 0 //当前鼠标位置 1;文件开头123123123 2;文件末尾 pPos的第4位为1的时候,代表插入的是图片 InSertFile(BSTR strFieldPath, long lPos) */ //文件头部插入文件 document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",1); //文件尾部插入文件 document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",2); //当前光标位置插入文件 document.all.FramerControl1.InSertFile("http://XX.com/XX.doc",0); //文件头部插入图片 document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",9); //文件尾部插入图片 document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",10); //当前光标位置插入图片 document.all.FramerControl1.InSertFile("http://XX.com/XX.jpg",8); /* 0x31. 文档另存为                 HRESULT SaveAs([in] VARIANT strFileName, [in] VARIANT dwFileFormat, [out,retval] long* pbool);         参数:         strFileName:文件本地路径,如c:\\11.doc         dwFileFormat: 文件格式 dwFileFormat的数值为: Excel: Type enum XlFileFormat {     xlAddIn = 18,     xlCSV = 6,     xlCSVMac = 22,     xlCSVMSDOS = 24,     xlCSVWindows = 23,     xlDBF2 = 7,     xlDBF3 = 8,     xlDBF4 = 11,     xlDIF = 9,     xlExcel2 = 16,     xlExcel2FarEast = 27,     xlExcel3 = 29,     xlExcel4 = 33,     xlExcel5 = 39,     xlExcel7 = 39,     xlExcel9795 = 43,     xlExcel4Workbook = 35,     xlIntlAddIn = 26,     xlIntlMacro = 25,     xlWorkbookNormal = -4143,     xlSYLK = 2,     xlTemplate = 17,     xlCurrentPlatformText = -4158,     xlTextMac = 19,     xlTextMSDOS = 21,     xlTextPrinter = 36,     xlTextWindows = 20,     xlWJ2WD1 = 14,     xlWK1 = 5,     xlWK1ALL = 31,     xlWK1FMT = 30,     xlWK3 = 15,     xlWK4 = 38,     xlWK3FM3 = 32,     xlWKS = 4,     xlWorks2FarEast = 28,     xlWQ1 = 34,     xlWJ3 = 40,     xlWJ3FJ3 = 41,     xlUnicodeText = 42,     xlHtml = 44 }; Word: Type enum WdSaveFormat {     wdFormatDocument = 0,     wdFormatTemplate = 1,     wdFormatText = 2,     wdFormatTextLineBreaks = 3,     wdFormatDOSText = 4,     wdFormatDOSTextLineBreaks = 5,     wdFormatRTF = 6,     wdFormatUnicodeText = 7,     wdFormatEncodedText = 7,     wdFormatHTML = 8 }; PPT: enum PpSaveAsFileType {     ppSaveAsPresentation = 1,     ppSaveAsPowerPoint7 = 2,     ppSaveAsPowerPoint4 = 3,     ppSaveAsPowerPoint3 = 4,     ppSaveAsTemplate = 5,     ppSaveAsRTF = 6,     ppSaveAsShow = 7,     ppSaveAsAddIn = 8,     ppSaveAsPowerPoint4FarEast = 10,     ppSaveAsDefault = 11,     ppSaveAsHTML = 12,     ppSaveAsHTMLv3 = 13,     ppSaveAsHTMLDual = 14,     ppSaveAsMetaFile = 15,     ppSaveAsGIF = 16,     ppSaveAsJPG = 17,     ppSaveAsPNG = 18,     ppSaveAsBMP = 19 };    */ /* 0x32. 删除本地文件                         HRESULT DeleteLocalFile([in] BSTR strFilePath);         参数:         strFileName:文件本地路径,如c:\\11.doc                         */                /* 0x33.创建临时文件                 HRESULT GetTempFilePath([out,retval] BSTR* strValue);         返回: 临时文件的路径地址。使用完后,用DeleteLocalFile 删除 */ /* 0x34.设置文档显示模式                 HRESULT ShowView([in] long dwViewType, [out,retval] long * pbool);         dwViewType的可取值为: enum WdViewType {     wdNormalView = 1,     wdOutlineView = 2,     wdPrintView = 3,     wdPrintPreview = 4,     wdMasterView = 5, //这个是大纲     wdWebView = 6 }; */ //大纲模式 document.all.FramerControl1.ShowView(5); /* 0x39:下载远程文件                 HRESULT DownloadFile( [in] BSTR strRemoteFile, [in] BSTR strLocalFile, [out,retval]  BSTR* strValue);         参数:          strRemoteFile:远程路径地址,http or Ftp          strLocalFile: 本地保存地址,if strLocalFile == NULL then Create Temp File and return TempFile's Path */ /* 0x40:增加Http上传时候的,附加其他文件                 HRESULT HttpAddPostFile([in] BSTR strFileID, [in]  BSTR strFileName, [out,retval] long* pbool); 参数:          strFileID:文件的ID,供服务器端页面解析          strFileName: 本地文件地址 */ /* 0x41,0x42.获取详细的修订信息。    GetRevCount( [out,retval] long * pbool);    GetRevInfo([in] long lIndex, [in]  long lType, [out,retval] BSTR* pbool);    例子如下 */ var vCount; vCount = document.all.FramerControl1.GetRevCount(); alert(vCount); var vOpt = 0; var vDate; for(var i=1; i<= vCount; i++){         vOpt = document.all.FramerControl1.GetRevInfo(i,2);         if("1"
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服