DSOFramer原有的接口说明.doc_第1页
DSOFramer原有的接口说明.doc_第2页
DSOFramer原有的接口说明.doc_第3页
DSOFramer原有的接口说明.doc_第4页
DSOFramer原有的接口说明.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DSOFramer原有的接口说明DSOFramer原有的接口说明=DSOFramer原有的接口说明1.void CreateNew(BSTR ProgIdOrTemplate)新建文档,其中: ProgIdOrTemplate参数:Excel Spreadsheet Excel.Sheet Excel Chart Excel.Chart PowerPoint PresentationowerPoint.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.xlsDsoFramer1.Open C:Plain.txt, , Word.Document/用Word来打开c:plain.txt文件DsoFramer1.Open https:/secureserver/test/mytest.asp?id=123, True, Excel.Sheet, MyUserAccount, MyPassword3.HRESULT Save(in, optional VARIANT SaveAsDocument, in, optional VARIANT OverwriteExisting, in, optional VARIANT WebUsername, in, optional VARIANT WebPassword);保存文件在本地DsoFramer1.Save c:1.doc4.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 itdelete 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(inOLE_COLOR clr);HRESULT ForeColor(out,retvalOLE_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 /文档已经保存,没有修改新加的接口说明(开发接口)当前版本:V 2007-02-07下载控件需要登录说明:控件未经大批量测试,难免有Bug,发现 Bug,请及时发帖或者Mail:版本修改记录:V修改:增加了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();V修改:修改Open,参数为空时候,一个小 Bug 修改了URL过长时候一个Bug 增加了一个替换文字的接口 long ReplaceText(BSTR strSearchText, BSTR strReplaceText,long lGradation);V修改:修改了HttpPost相对路径的一些问题。 V增加: id(0x00010041), helpstring(Get Rev Index) HRESULT GetRevCount( out,retval long * pbool); id(0x00010042), helpstring(Get Rev Index Info) HRESULT GetRevInfo(in long lIndex, inlong lType, out,retval BSTR* pbool); id(0x00010043), helpstring(Set Doc Prop) HRESULT SetValue(in BSTR strValue, inBSTR strName, out,retval long* pbool); id(0x00010044), helpstring(Set Doc Variable) HRESULT SetDocVariable(in BSTR strVarName, inBSTR strValue,in long lOpt, out,retval long* pbool); id(0x00010045), helpstring(Save page To Doc) HRESULT SetPageAs(in BSTR strLocalFile, inlong lPageNum, inlong lType,out,retval long* pbool);-LoadDso.jsvar s = s += s += document.write(s) -接口文档:/*1.新建*/新建Worddocument.all.FramerControl1.CreateNew(Word.Document);/新建Exceldocument.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(/uploadfile.asp); /*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,数值为testdocument.all.FramerControl1.SetFieldValue(book1,test,:ADDMARK:);/设置书签Time,数值为2006-03-16 22:22:22document.all.FramerControl1.SetFieldValue(Time,2006-03-16 22:22:22,);/在书签位置hongtou,插入红头文件22/hongtou1.doc 这样,红头就自动插进去了document.all.FramerControl1.SetFieldValue(hongtou,22/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 = 2strProPWD:密码*/完全保护文档,密码为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请问王企鹅/隐藏修订留痕123123document.all.FramerControl1.ShowRevisions(0);/* 11.插入合并文件,strFieldPath 文件路径,可以是http,ftp的路径pPos = 0 /当前鼠标位置1;文件开头1231231232;文件末尾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: Typeenum 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: Typeenum 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,retvalBSTR* strValue); 参数: strRemoteFile:远程路径地址,http or Ftp strLocalFile: 本地保存地址,if strLocalFile = NULL then Create Temp File and return TempFiles Path*/*0x40:增加Http上传时候的,附加其他文件 HRESULT HttpAddPostFile(in BSTR strFileID, inBSTR strFileName, out,retval long* pbool);参数: strFileID:文件的ID,供服务器端页面解析 strFileName: 本地文件地址 */*0x41,0x42.获取详细的修订信息。 GetRevCount( out,retval long * pbool); GetRevInfo(in long lIndex, inlong 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 = vOpt) vOpt = 插入; else if(2 = vOpt) vOpt = 删除; else vOpt = 未知操作; vDate = new String(document.all.FramerControl1.GetRevInfo(i,1); vDate = parseFloat(vDate); alert(vDate); dateObj = new Date(vDate);alert(dateObj.getYear() + 年 + dateObj.getMonth() + 1 + 月 + dateObj.getDate() +日 +dateObj.getHours() +时 +dateObj.getMinutes() +分 +dateObj.getSeconds() +秒 ); alert(用户:+document.all.FramerControl1.GetRevInfo(i,0) + rn操作: + vOpt + rn内容: + document.all.FramerControl1.GetRevInfo(i,3);/*0x43.设置基本信息: HRESULT SetValue(in BSTR strValue, inBSTR strName, out,retval long* pbool);1.设置文件只读密码 SetValue(password,:OCPROPassWord);2.设置文件修改密码 SetValue(password,:OCPROP:WritePW);返回值:0 正确-1:不支持此命令,请确定您的第二个参数没有传错-127:异常*/设置文件只读密码document.all.FramerControl1.SetValue(password,:OCPROPassWord);/设置文件修改密码document.all.FramerControl1.SetValue(password,:OCPROP:WritePW);/*0x44.设置文档变量,这个很少能用到 HRESULT SetDocVariable(in BSTR strVarName, inBSTR strValue,in long lOpt, out,retval long* pbool);strVarName: 变量名strVlaue:变量值lOpt: 操作类型,按位第一位为1:表示update域关联的第二位为1:表示如果没有这个变量则添加第三位为1:未来支持return:0:OK-127:异常*/*0x45: 分页保存HRESULT SetPageAs(in BSTR strLocalFile, inlong lPageNum, inlong lType,out,retval long* pbool);strLocalFile:本地路径lPageNum:页数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论