weboffice保护文档部分编辑_weboffice 提示抱歉 无法打开此文档进行编辑 - CSDN
精华内容
参与话题
  • 目 录       一、工作原理... 5 1.1  开发流程... 5 1.2  WEB页面调用控件:. 6 二、接口说明... 7 2.1  接口... 7 2.1.1  AboutBox. 7 2.1.2  AcceptAllRevisions. 7 2.1.3  CloseD



    目    录

     

     

     

    一、工作原理...5

    1.1         开发流程...5

    1.2         WEB页面调用控件:.6

    二、接口说明...7

    2.1         接口...7

    2.1.1     AboutBox.7

    2.1.2     AcceptAllRevisions.7

    2.1.3     CloseDoc.7

    2.1.4     DelLocalFile.8

    2.1.5     GetDocumentObject.8

    2.1.6     GetFieldValue.9

    2.1.7     GetTempFilePath.9

    2.1.8     GetRevCount.10

    2.1.9     GetFileSize.10

    2.1.10            GetBookMarkCount.10

    2.1.11            HideMenuItem.10

    2.1.12            HttpInit.11

    2.1.13            HttpAddPostFile.11

    2.1.14            HttpAddPostString.11

    2.1.15            HttpAddPostCurrFile.12

    2.1.16            HttpPost.12

    2.1.17            InsertFile.12

    2.1.18            IsOpened.13

    2.1.19            IsSaved.13

    2.1.20            LoadOriginalFile.14

    2.1.21            OpenFileDlg.14

    2.1.22            ProtectDoc.15

    2.1.23            PrintDoc.15

    2.1.24            PutSaved.15

    2.1.25            Save.16

    2.1.26            SaveTo.16

    2.1.27            SaveAs.16

    2.1.28            SetFieldValue.17

    2.1.29            SetTrackRevisions.18

    2.1.30            ShowRevisions.18

    2.1.31            SetCurrUserName.18

    2.1.32            ShowDialog.18

    2.1.33            UnProtectDoc(BSTRstrPwd).19

    2.2         属性...20

    2.2.1     DocType.20

    2.2.2     Version.20

    2.2.3     AppVersion.20

    2.2.4     lEventRet.20

    2.2.5     IsModify.21

    2.2.6     ShowToolBar.21

    2.2.7     lContinue.21

    2.3         事件...21

    2.3.1     NotifyWordEvent.21

    2.3.2     NotifyCtrlReady.22

    2.3.3     NotifyToolBarClick.22

    附录:WebOffice文件Http上传原理...23

     

     

     

     

     

     

     

                        


    一、工作原理

    WebOffice是基于客户端的ocx控件,它的功能是将Office文档(Word、Excel、WPS)嵌入到浏览器中,并调用Office中各种接口,完成文档编辑工作,然后使用控件的Http接口模拟表单提交,发送到数据处理页面(此文档举例为saveDoc.asp页,代码见演示文件),完成文档的存档工作。

    1.1  开发流程

      ├  装载控件        <object>...</ object >

      ├  触发初始化方法

    <SCRIPTLANGUAGE=javascript FOR=WebOffice1 EVENT=NotifyCtrlReady>

    <!--

     WebOffice1_NotifyCtrlReady()         

    //-->

    </SCRIPT>

      ├  执行初始化方法,打开新文档或装载已经存在的文档

    functionWebOffice1_NotifyCtrlReady() {

       document.all.WebOffice1.LoadOriginalFile("…","…");

    }    

      ├  根据当前步骤,来决定是否进入修订状态,如果是修订状态,最好设置当前的用户名

    functionWebOffice1_NotifyCtrlReady() {

       document.all.WebOffice1.LoadOriginalFile("…","…");

       document.all.WebOffice1.SetCurrUserName("张三"); 

       document.all.WebOffice1.SetTrackRevisions(1);

    }

    ├ 填写表单元素,编辑Office文档

      ├  执行Http上传接口保存表单元素和Office文档          

    //保存文档之前,如果需要接受修订,需要调用

    document.all.WebOffice1.SetTrackRevisions(4);   

    //通过Http接口上传

    document.all.WebOffice1.HttpInit();             

    document.all.WebOffice1.HttpAddPostString("…","…");

    document.all.WebOffice1.HttpAddPostCurrFile("…","…");      

    document.all.WebOffice1.HttpPost("…")

      ├  saveDoc.asp获取表单数据和Office进行数据库操作,并返回操作是否正确。

      ├  根据saveDoc.asp返回值进行相应操作。

    1.2  WEB页面调用控件:

     

         <OBJECT id=WebOffice1 height=520width="100%" style="LEFT: 0px; TOP: 0px"

    classid="clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5"  codebase=WebOffice.ocx#Version=3,0,0,0>

         <PARAM NAME="_Version"VALUE="65536">

         <PARAM NAME="_ExtentX"VALUE="2646">

         <PARAM NAME="_ExtentY"VALUE="1323">

         <PARAM NAME="_StockProps"VALUE="0"></OBJECT>

    主要参数说明:

    id         控件在网页的别名,可以通过别名调用控件的方法、属性

    width      控件的宽度,可以使用绝对大小,如width="100px"。

    height     控件的高度

    codebase      设置控件自动下载的路径,用户如果没有安装控件,系统会自动访问codebase的路径下载控件;“#Version”后的是控件的版本,如果用户当前的软件版本低于“#Version”后面的版本,系统也会自动下载最新的控件

     

    注意:    如果控件的width 和height属性使用%表示,则要明确指明它所在的容器的大小,如把控件放到表格<td>内,则要明确指明表格<td>的width和height的绝对值。


    二、接口说明

    2.1  接口

    2.1.1     AboutBox

    原 型: void AboutBox();

    功  能:显示WebOffice版本信息

    返回值:

    示  例:

    document.all.WebOffice1.AboutBox();

     

    2.1.2     AcceptAllRevisions

    原  型: longAcceptAllRevisions();

    功  能:接受当前文档所有修订

    返回值:

    0:接受修订成功

           非零:接受修订失败

    示  例:

    document.all.WebOffice1.AcceptAllRevisions();

    2.1.3     CloseDoc

    原  型: long CloseDoc(longblReqSaved);

    功  能:关闭当前文档

    参 数:

          blReqSaved:

           0:关闭文档,不保存当前修改。

           1:关闭文档,保存当前修改。

           2:如果文档已经被修改,显示保存文档对话框,否则直接关闭。

           其它:关闭文档,保存当前修改。

    返回值:

           0:    失败

           非零: 成功

    示  例:

        //关闭当前文档,不保存当前修改。

    document.all.WebOffice1.CloseDoc (0);

     

    2.1.4     DelLocalFile

    原  型: long DelLocalFile(BSTRstrFilePathName);

    功  能:删除本地文件

    参 数:

          strFilePathName:本地文件的绝对路径。

    返回值:

           0:    删除成功

           非零: 删除失败

    示  例:

     document.all.WebOffice1.DelLocalFile("c:\\111.doc");

     

    2.1.5    GetDocumentObject

    原  型: IDispatch*GetDocumentObject();

    功  能:

    获取文档对象的ActiveDocument对象,此接口非常重要,基本所有的VBA功能都可以通过这个接口来实现。

    参 数:                  

    返回值: ActiveDocument对象的Dispatch

    示  例:

    /* 以下的JavaScript为采用ActiveDocument的方式直接操作VBA,向DOC文档的书签中加入一个图片。

    function AddPicture(strMarkName,strBmpPath,vType)

    在书签位置插入图片,

    strMarkName 书签的名称

    strBmpPath  图片的路径

    vType       插入后的图片的样式,5为浮动在文字上面

    AddPicture("test1","d:\\111.bmp",5);

    AddPicture("test1","d:\\111.bmp",128);

    */

    function AddPicture(strMarkName,strBmpPath,vType)

    {

    //定义一个对象,用来存储ActiveDocument对象
             var obj;
             obj =new Object(document.all.WebOffice1.GetDocumentObject());
             if(obj!=null){
                   var pBookMarks;

    // VAB接口获取书签集合
                      pBookMarks = obj.Bookmarks;
                      var pBookM;

    // VAB接口获取书签strMarkName
                      pBookM = pBookMarks(strMarkName);
                      var pRange;

    // VAB接口获取书签strMarkName的Range对象
                      pRange = pBookM.Range;
                      var pRangeInlines;

    // VAB接口获取书签strMarkName的Range对象的InlineShapes对象
                      pRangeInlines = pRange.InlineShapes;
                      var pRangeInline;

    // VAB接口通过InlineShapes对象向文档中插入图片
                      pRangeInline = pRangeInlines.AddPicture(strBmpPath); 

    //设置图片的样式,5为浮动在文字上面
                      pRangeInline.ConvertToShape().WrapFormat.TYPE = vType;
                      delete obj; 

       }

    }

     

    2.1.6     GetFieldValue

    原  型: BSTRGetFieldValue(BSTR strFieldName, BSTR strSheetName);

    功  能:获得书签位置的数值

    参 数:

    strFieldName:书签的名字

    strSheetName:预留字段(值为空)

        

    返回值:返回书签的值

    示  例:

    //获得书签的值

     var strFieldValue=document.all.WebOffice1.GetFieldValue("mark_1","")

     

    2.1.7     GetTempFilePath

    原  型: BSTRGetTempFilePath();

    功  能:获得临时文件路径

    参 数:                  

    返回值:当前文件的临时路径

    示  例:

     var strTempPath=document.all.WebOffice1.GetTempFilePath()

    2.1.8     GetRevCount

    原  型: longGetRevCount();

    功  能:获取修订节点的个数

    参 数:                  

    返回值:获取修订节点的个数

    示  例:

     

     

     

    2.1.9     GetFileSize

    原  型: longGetFileSize (LPCTSTR strFilePath);

    功  能:获取本地文件的大小

    参  数:                  

    返回值:

    示  例:

     var vLen = obj.GetFileSize("c:\\111.doc");

    2.1.10   GetBookMarkCount

    原 型: longGetBookMarkCount();

    功 能:获取文档中书签的总数量

    参 数:                  

    返回值:

    示 例:

     

    2.1.11   GetBook MarkInfo(lIndex,iType)

    原 型: longGetBook MarkInfo(lIndex,iType);

    功 能:获取文档中书签的信息

    参 数:

    lIndex:书签的序号,从1开始

       iType:获取内容类型。0获取书签名,1获取书签值

    返回值:

    示 例:

     

    2.1.12   HideMenuItem

    原  型: long HideMenuItem(long lMenuType);

    功  能:控制自有工具栏的显示

    参 数:

    lMenuType工具栏开关,采用32位的数字作为开关,当相关位为1的时候,按钮显示,为0是按钮隐藏。

    enum{

        vNew = 0x01,         //新建

        vOpen= 0x02,             //打开

        vSaveAs= 0x04,       //保存

        vPrint= 0x10,          //打印

        vPrintView= 0x20,      //打印预览

        vReturn= 0x1000,       //全屏

    vShowHideMenu = 0x4000, //显示/隐藏菜单

        vFullScrean= 0x2000    //返回

    };

    返回值:

    示  例:

     //只显示新建和全屏按钮

    Object.HideMenuItem(0x01 + 0x1000);

    2.1.13   HttpInit

    原  型: long HttpInit();

    功  能:初始化上传接口

    参 数:                  

    返回值:

    示  例:

    //上传前必须执行此方法

    document.all.weboffice1.HttpInit();

    2.1.14   HttpAddPostFile

    原  型: longHttpAddPostFile(BSTR strName, BSTR strFile);

    功  能:Http上传相关(保留)

    参 数:                  

    返回值:

    示  例:

    //上传本地文件c:\\111.doc

    document.all.weboffice1.HttpAddPostFile("111","c:\\111.doc")

     

    2.1.15   HttpAddPostString

    原  型: longHttpAddPostString(BSTR strName, BSTR strValue);

    功  能:添加要上传的表单域

    参 数:

          strName:表单域的名称

           strValue:表单域的值

          

    返回值:

          

    示  例:

    //添加表单域,可多次执行此方法

    document.all.WebOffice1.HttpAddPostString("DocTitle",myform.DocTitle.value);

     

    2.1.16   HttpAddPostCurrFile

    原  型: longHttpAddPostCurrFile(String field, String newFileName);

    功  能:添加要上传的Word或者Excel文件

    参  数:

    Field:要上传文件的id

    newFielName:上传后的新文件名。该参数可以为空,系统将自动为文件命名

    返回值:

    示 例:

    document.all.WebOffice1.HttpAddPostCurrFile("DocContent","");

    2.1.17   HttpPost

    原  型: BSTR HttpPost(BSTRstrHttpURL);

    功  能:将当前表单和文件数据提交到指定URL路径

    参 数:

    strHttpURL:  处理表单和文件数据的文件URL路径   

    返回值:

         Succeed:上传成功

          failed: 上传失败

    示  例:

    //相对路径

    var returnValue=document.all.WebOffice1.HttpPost("../saveDoc.jsp");

    //绝对路径

    var returnValue=document.all.WebOffice1.HttpPost("http://127.0.0.1/saveDoc.jsp")

    2.1.18   InsertFile

    原  形:short  InsertFile(LPCTSTR strFilePathName, shortnCurPos)

    功  能:插入合并文件,和插入图片。

    参  数:strFilePathName:

               文件或者图片的路径,可以是Http.或者Ftp路径

             nCurPos:

               位置和图片控制符。nCurPos 或者nCurPos -8

               0: 当前位置

               1: 文件开头

    2: 文件末尾

                如果第四位为1:表示插入的是图片

          

    返回值:

           0:正确

           其他:错误

    示  例:

    //文件头部

    document.all.WebOffice1.InSertFile("http://XX.com/XX.doc",1);

    //文件尾部

    document.all.WebOffice1.InSertFile("http://XX.com/XX.doc",2);

    //当前光标位置

    document.all.WebOffice1.InSertFile("http://XX.com/XX.doc",0);

    //文件头部

    document.all.WebOffice1.InSertFile("http://XX.com/XX.jpg",9);

    //文件尾部

    document.all.WebOffice1.InSertFile("http://XX.com/XX.jpg",10);

    //当前光标位置

    document.all.WebOffice1.InSertFile("http://XX.com/XX.jpg",8);

    2.1.19   IsOpened

    原  型: long IsOpened();

    功  能:判断当前是否打开文件

    参 数:                  

    返回值:

    0:表示当前未打开文档

    非0:表示已经打开文档

    FILE_TYPE_WORD = 11,

    FILE_TYPE_WORD =11,

    FILE_TYPE_EXCEL= 12,

    FILE_TYPE_PPT = 13,

    FILE_TYPE_RTF = 14,

    FILE_TYPE_WPS = 21,

    FILE_TYPE_PDF = 31,

    FILE_TYPE_UNK = 127     

     

    示  例:

    var isOpened=document.all.WebOffice1.IsOpened();

    2.1.20   IsSaved

    原  型: long IsSaved();

    功  能:判断文件是否被修改

    参 数:                  

    返回值:

    0:文件已被修改

    非零:文件未被修改

     

    示  例:

    var isSaved=document.all.WebOffice1.IsSaved();

    2.1.21   LoadOriginalFile

    原  型: longLoadOriginalFile(BSTR pcFileNameOrUrl, BSTR pcType);

    功  能:新建、装载Office文档

    参 数:

    pcFileNameOrUrl:

    要装载文件的本地路径或者URL,值为空表示新建文档,如果是在Http的Web环境下,可以传相对路径. 

    pcType:

    doc:打开、新建Word文件

    xls:打开、新建Excel文件

    ppt:打开、新建PPT  文件

    wps:打开、新建WPS  文件

        

    返回值:

          0:失败

              非0:成功

    示  例:

     // 通过URL打开一个服务器文件,getdoc.asp代码见演示文件

    document.all.WebOffice1.LoadOriginalFile("http://127.0.0.1/getdoc.asp?id=8","doc");

    // 通过URL打开一个服务器文件,相对路径

    document.all.WebOffice1.LoadOriginalFile("/getdoc.asp?id=8","doc");

    document.all.WebOffice1.LoadOriginalFile("./getdoc.asp?id=8","doc");

    // 新建Excel

    document.all.WebOffice1.LoadOriginalFile("","xls");

    // 通过Word打开本地文件

    document.all.WebOffice1.LoadOriginalFile("C:\\demo.doc","doc");

    2.1.22   OpenFileDlg

    原  型: shortOpenFileDlg();

    功  能:打开本地文件显示在WebOffice中

    参  数:pcFileNameOrUrl:保存的文件路径

    返回值:

    示  例:

    //打开对话框

    document.all.WebOffice1.OpenFileDlg()

    2.1.23   ProtectDoc

    原  型: longProtectDoc(long lProOrUn, long lType, BSTR strPWD);

    功  能:文档保护

    参  数:

    lProOrUn:

    └ 1:为保护文档

    └ 0:为解锁文档

    lType       :

    └ 0 :文档保护,只允许修订

    └ 1 :文档保护,只允许批注

    └ 2 :文档完全保护,不允许任何操作

    strPWD:文档保护、解锁时所需设置的密码

      

    返回值:

    示  例:

    // 保护文档,只允许修订

    document.all.WebOffice1.ProtectDoc(1,0, "12345");  

    // 解锁文档

    document.all.WebOffice1.ProtectDoc(0,0, "12345");     

     

    2.1.24   PrintDoc

    原  型: long PrintDoc(longblShowDlg);

    功  能:打印当前文档

    参 数:blShowDlg:

    0:不显示打印对话框,直接打印

                  非零:显示打印对话框

    返回值:

    0:打印失败

                  非零:打印成功

    示  例:

    //显示打印对话框

     document.all.WebOffice1.PrintDoc(1);

    2.1.25   PutSaved

    原  型: longPutSaved(boolean bSaved);

    功  能:设置当前文档的修改状态

    参  数: 

           0: 处于修改状态

           1: 处于保存状态

    返回值:

    示  例:

    //设置当前文档处于修改状态

    document.all.WebOffice1.PutSaved(0);

    2.1.26   Save

    原  型: long Save();

    功  能

    将文件保存原来位置,第一次保存时弹出对话框

    参  数:

    返回值:

    0:保存失败

           非零:保存成功

    示  例:

    document.all.WebOffice1.Save();

    2.1.27   SaveAs

    原  型: long SaveAs(BSTRstrFileName, long dwFileFormat);

    功  能:保存文件到本地

    参  数:

    strFileName: 要保存的文件路径和文件名

    dwFileFormat:保存的文件类型

         └ 0 Word类型

         └ 2 Txt文件

         └ 6 Rtf文件

    └ -4143 Excel类型

    返回值:

    示  例: 

    document.all.WebOffice1.SaveAs("C:\\test.doc",0);      //另存为Word文件

    document.all.WebOffice1.SaveAs("C:\\test.txt",2);      //另存为Txt文件

    document.all.WebOffice1.SaveAs("C:\\test.rtf",6);      //另存为Rtf文件

    document.all.WebOffice1.SaveAs("C:\\test.xls",-4143);  //另存为Excel文件 

    2.1.28   SetFieldValue

    原  型: longSetFieldValue(BSTR strFieldName, BSTR strValue, BSTR strSheetName);

    功  能:添加书签,套红头模板

    参  数:strFieldName:书签的名字,对于Excel文件,此数据位单元格

    strValue:书签的值,该处可以是个用于返回数据的URL,用于套红头模板。对于Excel文件,如果插入的是图片,此数值为::JPG::+图片的路径

    strSheetName:命令的类型,对于Excel文件此数值为Sheet的名称

         └ ::ADDMARK::  添加书签

              └::DELMARK::  删除书签

              └::JPG::         添加图片,可以利用这个来实现图片电子印章

         └ ::FILE::      调用本地或者URL的文件设置书签值(套红头)

     

    返回值:

    示  例:

    // 添加书签mark_1,并为它赋值

    document.all.WebOffice1.SetFieldValue("mark_1","北京","::ADDMARK::");

    // 为已存在的书签mark_1赋值

    document.all.WebOffice1.SetFieldValue("mark_1","电子签章",  "");

    // 套本地红头

    document.all.WebOffice1.SetFieldValue("mark_1","c:\\test.doc", "::FILE::");

    // 套服务端红头1,getDoc.asp页用于返回要装载Word的二进制值,代码见演示文件

    document.all.WebOffice1.SetFieldValue("mark_1","http://127.0.0.1/getdoc.asp?id=8", "::FILE::");

    // 套服务端红头2

    document.all.WebOffice1.SetFieldValue("mark_1","http://127.0.0.1/test.doc","::FILE::");

    //添加图片电子印章

    document.all.WebOffice1.SetFieldValue("mark_1","http://127.0.0.1/seal.bmp","::JPG::");

    //在Excel中添加图片

    document.all.WebOffice1.SetFieldValue("","::JPG::http://www.google.cn/intl/zh-CN/images/logo_cn.gif","");

    2.1.29   SetTrackRevisions

    原  型: longSetTrackRevisions(long lValue);

    功  能:修订文档

    参  数:

    lValue:文档修订状态

         └ 1: 开始修订文档

         └ 0: 进入非留痕状态

         └ 4:接受当前修订

    返回值:

    示  例:

    // 开始修订

    document.all.WebOffice1.SetTrackRevisions(1);

    // 接受修订

    document.all.WebOffice1.SetTrackRevisions(4);   

    2.1.30   ShowRevisions

    原  型: longShowRevisions(long nNewValue);

    功  能:显示、隐藏修订

    参  数:

    nNewValue:要保存的文件路径和文件名

         └ 1:显示修订

         └ 0:隐藏修订

    返回值:

    示例:

    document.all.WebOffice1.ShowRevisions(0);     //隐藏修订

    2.1.31   SetCurrUserName 

    原  型: longSetCurrUserName(BSTR strCurrUserName);

    功  能:设置当前编辑Word、Excel的用户名,主要用于修订文档,标识不同人进行的不同操作

    参  数:strCurrUserName:当前编辑人的用户名

    返回值:

      示  例:document.all.WebOffice1.SetCurrUserName("张三");   

    2.1.32   ShowDialog

    原 型: long ShowDialog(longdwIndex);

    功  能:

            显示对话框

    参  数:

          dwIndex:对话框的ID数值,详细的数值列表请参照附件。

    返回值:

    示  例:

     

    2.1.33   UnProtectDoc(BSTR strPwd)

    原 型: long UnProtectDoc(BSTR strPwd);

    功  能:解除当前文档保护

    参  数:strPwd文档保护时所设置的密码

    返回值:

    0:解锁成功

           非零:解锁失败

    示  例:

    document.all.WebOffice1.UnProtectDoc("12345");

     

     


    2.2  属性

    2.2.1     DocType

    原  型: longDocType;

    说  明:文件类型,只读

    数 值

    FILE_TYPE_WORD =11,

    FILE_TYPE_WORD = 11,

    FILE_TYPE_EXCEL = 12,

    FILE_TYPE_PPT = 13,

    FILE_TYPE_RTF = 14,

    FILE_TYPE_WPS = 21,

    FILE_TYPE_PDF = 31,

    FILE_TYPE_UNK = 127     

     

    2.2.2    Version

    原 型: BSTRVersion;

    说  明:打开文件的版本号,只读

    数  值

     

    2.2.3     AppVersion

    原 型: BSTRVersion;

    说  明:打开文件的版本号,只读

    数  值

     

    2.2.4    lEventRet

    原 型: BOOL LEventRet;

    说  明:见事件 NotifyToolBarClick事件

    数  值

     

    2.2.5    IsModify

    原 型: BOOLIsModify;

    说  明:判断文档是否被修改,需要在LoadOrigarFile之前设置 OptionFlag|= 0x0400 才有效。

    2.2.6    lContinue

    原  型: long lContinue;

    功  能:用于NotifyWordEvent的处理函数中,可以终止相应事件的继续执行

    参  数:

    返回值:

           1:可以继续执行(默认)

           0:不是2007版本

    示  例:

    //禁止关闭当前的Word/Excel/Wps文档

    OnNotifyWordEvent(BSTRstrEventName)

    {

    if(strEventName == “DocumentBeforeClose”)

    {

    lContinue = 0;

    }

    }

     

    2.3  事件

    2.3.1     NotifyWordEvent

    原  型:  void  NotifyWordEvent(BSTRstrEventName);

    说  明:捕获部分Word/Excel/Wps事件。

    参数:strEventNameàWord/Excel的事件名,可能是以下的数值

    DocumentChange

    DocumentBeforeClose

    DocumentBeforePrint

    DocumentBeforeSave

    备注:本事件在本版本扩展到Excel和Wps的支持,且可以终止该事件的继续执行(使用属性lContinue)。

    2.3.2    NotifyCtrlReady

    原 型: void NotifyCtrlReady();

    说  明:当控件准备完毕后触发,一般在这个事件中完成初始化的操作。

     

     

    2.3.3    NotifyToolBarClick

    原 型: voidNotifyToolBarClick(long iIndex);

    参 数:

    long iIndex : 工具栏按钮ID。

    ID_RETURN                       32769

    ID_NEW                           32770

    ID_OPEN                          32771

    ID_SAVEAS                        32772

    ID_FULLSCREAN                   32773

    ID_PRINT                         32774

    ID_PRINTVIEW                    32775

    说  明:

       

    (不适用于Office2007)每个按钮都有默认的处理动作,如果不希望触发默认的处理动作,需要在此时间中设置属性lEventRet = 0;

    以下实例截获了SAVEAS的按钮事件。

    //1. 定义事件处理函数

    <SCRIPTLANGUAGE=javascript FOR=WebOffice1 VENT=NotifyToolBarClick(lCmd)>

    <!--

     WebOffice1_NotifyToolBarClick(lCmd)

    //-->

    </SCRIPT>

    //2. 截获处理事件

    functionWebOffice1_NotifyToolBarClick(lCmd) {

        if(32772==lCmd){

           document.all.WebOffice1.lEventRet = 0;   

        }

    }

     

    附录:WebOffice文件Http上传原理

    WebOffice文件Http上传原理分析

     

    WebOffice控件使用了自身的文件Http上传接口实现文件和表单域的上传保存,本文将简要介绍该上传方式的原理和使用方法。注:WebOffice的上传接口和AIP是一致的。

     

    原理

    因为Web页面上的WebOffice打开的文件无法随表单记录提交到处理页面,所以我们把文件模拟成表单的文件域<input type=file …>,通过接口把文件和表单元素发送到保存记录的页面(过程类似表单的提交)。

     

    主要上传接口:

    l HttpInit();

    该方法用于初始化上传接口,不需要设置参数

     

    l HttpAddPostString(String FieldName, String someValue);

    添加要提交的表单域, FieldName是要上传表单域名称,someValue是表单域值

    例一:

    HttpAddPostString("username", "zhangSan");

    它类似域表单域的

    <input type=text name=username value=zhangSan>

                  例二:

                         HttpAddPostString("username", WebForm.username.value);

                         ….

                         <form name= WebForm >

    <input type=text name=username value=zhangSan>

                         </form>

    注意如果使用 上传接口,那么form表单里的表单域不会被提交到处理页面。需要手工添加到上传接口(HttpAddPostString接口),然后通过控件发送到处理页面。例二使用了“WebForm.username.value”获取表单域值。

     

    l HttpAddPostCurrFile(String fileName, String ReName);

    添加当前WebOffice编辑的文件给上传接口,该接口把文件模拟到成一个表单的文件域,并提交到处理页面。

    例一:

    HttpAddPostCurrFile("AipFile", "");

    该接口模拟表单文件域如下:

    <input type=file name=AipFile >

    注意:第二个参数为空表示控件自动为文件命名,如:dj_temp.aip,如果需要重命名可以在第二个参数指明文件名称,也可在保存页面指定文件名称。

     

    l HttpPost(String url);

    执行上传操作将文件和表单域提交到url的页面进行保存操作,并获取url页面返回的执行结果 (是否成功,可以根据这个结果来获取服务器端执行的结果)。

    url支持绝对路径和相对路径。

    绝对路径,例如:http://192.168.0.1/savedoc.asp

    相对路径要以“./”或者“../”开头。例如:./savedoc.asp

    完整的上传接口演示

    function SaveDoc() {

             var returnValue;                                              //保存页面的返回值

             document.all.WebOffice1.HttpInit();  //初始化Http引擎

    // 添加相应的Post元素

             document.all.WebOffice1.HttpAddPostString("username", WebForm. username.value);

             // 添加上传文件

             document.all.WebOffice1.HttpAddPostCurrFile("AipFile ","");   

             // 提交上传文件

             returnValue = document.all.WebOffice1.HttpPost("../saveDoc.jsp");

             if("true" == returnValue){

                       alert("文件上传成功");       

             } else  {

                       alert("文件上传失败")

             }

    }

     

    关于保存

    WebOffice上传接口将数据流以Http方式提交到保存页面,至于对数据处理就和普通的文件上传处理一样了,具体代码参考附件(asp和jsp的实现)。


    论坛:http://forum.dianju.cn/

     

     

    展开全文
  • WebOffice开发系列指南...WebOffice文档控件技术交流和版本发布 发表回复 17 篇帖子 • 分页: 1 / 2 • 1, 2 WebOffice开发系列指南 由 hangel » 2010-07-12 11:33 WebOffice开发系列01-自动下载安装组

    http://www.dianju.cn/forum/viewtopic.php?t=9249
    WebOffice开发系列指南

    WebOffice文档控件技术交流和版本发布

    发表回复

    17 篇帖子 • 分页: 1 / 2 1, 2

    WebOffice开发系列指南

    hangel » 2010-07-12 11:33

    WebOffice开发系列01-自动下载安装组件(B/S)
    WebOffice开发系列02-如何打开文件
    WebOffice开发系列03-修订留痕
    WebOffice开发系列04-安全控制 (防止复制、打印、保存)
    WebOffice开发系列05-菜单控制
    WebOffice开发系列06-自定义工具栏 (添加工具栏按钮、调节工具栏颜色)
    WebOffice开发系列08-文件上传到服务器
    WebOffice开发系列09-其他功能-全屏-VBA


    webOffice
    控件自动下载是指在打开网页时,网页会自动把webOffice控件下载下来,从而可以将wordexcel嵌入到网页中。控件自动下载的相关代码如下:

    < object id=WebOffice height=768 width="100%"
    style="LEFT: 0px; TOP: 0px" classid="clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5" codebase="../js/WebOffice1.ocx#version=6,0,4,0">
    <param name="_ExtentX" value="6350">
    <param name="_ExtentY" value="6350">
    </object>

    上面的脚本意思是: 自动更新classid= FF1FE7A0-0578-4FEE-A34E-FB21B277D561 COM组件,
    更新地址为 ../js/WebOffice1.ocxcodebase后的路径为相对路径也可为绝对路径,要更新的最新版本为6,0,4,0
    此时,IE会自动访问注册表,如果发现当前机器未安装或者当前版本低于6,0,4,0,就会自动下载。

    hangel

     

    帖子: 10

    注册: 2010-07-12 10:39

    页首


    WebOffice开发系列02-如何打开文件

    hangel » 2010-07-12 11:33

    单击打开文件按钮,可以在webOffice中打开文件,具体操作如图所示:

    1004291534911966484dcfde21.jpg


    打开文档的接口为LoadOriginalFile,其接口描述如下:
    原 型: long LoadOriginalFile(BSTR pcFileNameOrUrl, BSTR pcType);
    功 能:新建、装载Office文档

    参 数:
    pcFileNameOrUrl:
    要装载文件的本地路径或者URL,值为空表示新建文档,如果是在HttpWeb环境下,可以传相对路径.
    pcType:
    doc:
    打开、新建Word文件

    xls:
    打开、新建Excel文件
    ppt:
    打开、新建PPT 文件
    wps:
    打开、新建WPS 文件
    返回值
    :
    0:失败

    0:成功
    示 例:
    //
    通过URL打开一个服务器文件,getdoc.asp代码见演示文件
    document.all.WebOffice1.LoadOriginalFile("http://127.0.0.1/getdoc.asp?id=8", "doc");
    //
    通过URL打开一个服务器文件,相对路径
    document.all.WebOffice1.LoadOriginalFile("/getdoc.asp?id=8", "doc");
    document.all.WebOffice1.LoadOriginalFile("./getdoc.asp?id=8", "doc");
    //
    新建Excel
    document.all.WebOffice1.LoadOriginalFile("", "xls");
    ==================
    特别注意
    ===============================
    建议在NotifyCtrlReady 事件中调用 LoadOriginalFile 接口,否则有可能出现Word窗口脱离IE界面的问题。

    <SCRIPT language=javascript event=NotifyCtrlReady for=WebOffice1>
    /****************************************************
    *
    *
    在装载完Weboffice(执行<object>...</object>)
    *
    控件后执行 "WebOffice1_NotifyCtrlReady"方法

    *
    ****************************************************/

    WebOffice1_NotifyCtrlReady()
    </SCRIPT>

    WebOffice1_NotifyCtrlReady(){
    document.all.WebOffice1.LoadOriginalFile("", "doc");
    }

    您没有权限查看这个主题的附件。

    hangel

     

    帖子: 10

    注册: 2010-07-12 10:39

    页首


    WebOffice开发系列03-修订留痕

    hangel » 2010-07-12 11:38

    webOffice对文档的修订操作提供了丰富的接口,其接口为:document.all.WebOffice1.SetCurrUserName("user_name")
    文档操作的具体步骤如图所示,先以Test用户身份对文档进行编辑,如图所示:

    10042915368ed41a99e4cc92ba.jpg



    编辑完成上传后,其他用户如果想修订文档可以单击“修订文档”的按钮,接口为:
    //
    开始修订
    document.all.WebOffice1.SetTrackRevisions(1);
    //
    接受修订
    document.all.WebOffice1.SetTrackRevisions(4);
    编辑文档的时候字体会针对不同的用户显示不同的颜色,如下图所示:

    10042915369c8f50cabf3a5c18.jpg



    单击“显示修订”会显示所有其他用户的修改和删除的操作,单击“隐藏修订”时就会隐藏所有的修订,
    文档文字的颜色会变成同原文档的文字一样,而且删除的横线也会去掉,其接口如下:
    //
    隐藏修订
    document.all.WebOffice1.ShowRevisions(0);
    //
    隐藏修订
    document.all.WebOffice1.ShowRevisions(0);
    如下图所示:

    10042915369c8f50cabf3a5c18.jpg



    单击“接受所有修订”则文档的修订就会生效,否则单击“拒绝所有修订”文档的所有修订失效,文档内容和初稿内容一致。
    //
    接受当前所有修订信息
    document.all.WebOffice1.SetTrackRevisions(4);
    单击“获取修订信息”则会获取所有对文档进行修订的用户的相关信息及修订日期,接口描述如下:
    原 型: BSTR GetRevInfo(long lIndex, long lType);
    功 能:获取修订节点的信息(修订人,修订的时间,修订的动作)

    参 数:
    lIndex:
    修订的节点编号
    lType:
    获取的信息编号
    返回值
    :
    示 例:

    //1.
    获取修订的用户
    vUserName = document.all.WebOffice1.GetRevInfo(i,0);
    //2.
    获取修订的时间
    vDate = new String(document.all.WebOffice1.GetRevInfo(i,1));
    //3.
    获取修订的动作
    var vRet = document.all.WebOffice1.GetRevInfo(i,2);
    vRet == "1":
    表示"插入"的操作
    vRet == "2":
    表示"删除"的操作
    //4.
    获取修订的内容

    vUserName = document.all.WebOffice1.GetRevInfo(i,3);
    //
    总体的例子代码
    var vCount;
    vCount = document.all.WebOffice1.GetRevCount();
    var vOpt = 0;
    var vDate;
    for(var i=1; i<= vCount; i++){
    vOpt = document.all.WebOffice1.GetRevInfo(i,2);
    if("1" == vOpt){
    vOpt = "
    插入";
    }else if("2" == vOpt){
    vOpt = "
    删除
    ";
    }else{
    vOpt = "
    未知操作
    ";
    }
    vDate = new String(document.all.WebOffice1.GetRevInfo(i,1));
    vDate = parseFloat(vDate);
    dateObj = new Date(vDate);
    alert(dateObj.getYear() + "
    " + dateObj.getMonth() + 1 + "" + dateObj.getDate() +"" + dateObj.getHours() +"" + dateObj.getMinutes() +"" + dateObj.getSeconds() +"
    " );
    alert("
    用户:"+document.all.WebOffice1.GetRevInfo(i,0) + "\r\n操作:" + vOpt + "\r\n内容
    :" + document.all.WebOffice1.GetRevInfo(i,3));
    }

    100429153626ae947d8d6fde50.jpg

    您没有权限查看这个主题的附件。

    hangel

     

    帖子: 10

    注册: 2010-07-12 10:39

    页首


    WebOffice开发系列04-安全控制 (防止复制、打印、保存)

    hangel » 2010-07-12 11:41

    Weboffice可以对word文档实行全面的安全控制,增强了文档的安全性,用户在编辑文档后在输入框中输入密码,
    然后单击“保护文档”,上传保存后别的用户则无法对文档进行编辑,需要输入正确的密码后才可编辑,接口描述如下:
    原 型: long ProtectDoc(long lProOrUn, long lType, BSTR strPWD);
    功 能:文档保护

    参 数:
    lProOrUn

    1:为保护文档
    0:为解锁文档
    lType

    0 :文档保护,只允许修订
    1 :文档保护,只允许批注
    2 :文档完全保护,不允许任何操作
    strPWD
    :文档保护、解锁时所需设置的密码
    返回值:

    示 例:
    //
    保护文档,只允许修订
    document.all.WebOffice1.ProtectDoc(1, 0, "12345");
    //
    解锁文档
    document.all.WebOffice1.ProtectDoc(0, 0, "12345");
    如图所示:

    10042915390aef3d09dccc1c7f.jpg



    单击“禁止打印”可以防止非法用户对文档进行打印操作,单击“禁止复制”可以去掉word的复制粘贴功能,单击“允许复制”则恢复。
    相关的接口描述如下:
    原 型: long SetSecurity(long lFlag)
    功 能:

    设置文档安全选项
    参 数:
    lFlag
    :按位标记的控制开关。
    0x01
    表示不允许打印(当第一位为1时有效)
    0x02
    表示不允许保存(当第二位为1时有效
    )
    0x04
    表示不允许复制(当第三位为1时有效
    )
    0x08
    表示不允许拖动(当第四位为1时有效
    )
    0x8000
    表示清除开关(当最高位为1时有效
    )

    返回值:

    示 例:

    //
    禁止打印
    Object.SetSecurity(0x01);
    //
    恢复允许打印
    Object.SetSecurity(0x01 + 0x8000);
    //
    禁止保存
    Object.SetSecurity(0x02);
    //
    恢复允许保存
    Object.SetSecurity(0x02 + 0x8000);
    //
    禁止复制
    Object.SetSecurity(0x04);
    //
    恢复允许复制
    Object.SetSecurity(0x04 + 0x8000);
    //
    禁止打印、保存、复制
    Object.SetSecurity(0x01+0x02+0x04);
    //
    恢复允许打印、保存、复制
    Object.SetSecurity(0x01+0x02+0x04+0x8000);

    通过事件方式进行安全控制,原理是通过weboffice控件中的NotifyWordEvent事件捕获捕获部分Word/Excel/Wps事件,在事件执行前进行相关设置,从而对word文档进行安全控制。

    您没有权限查看这个主题的附件。

    hangel

     

    帖子: 10

    注册: 2010-07-12 10:39

    页首


    WebOffice开发系列05-菜单控制

    hangel » 2010-07-12 11:42

    由于控件升级 现在控制菜单有两种方式:
    新接口:
    屏蔽菜单
    1.
    2003屏蔽所有的菜单,除了参数的4个菜单。
    2.
    2007 功能区隐藏。当 pcExcludeBar1= "show" 功能区显示,否则隐藏
    HideMenuArea(LPCTSTR pcExcludeBar1, LPCTSTR pcExcludeBar2, LPCTSTR pcExcludeBar3, LPCTSTR pcExcludeBar4)
    示例:
    隐藏offcie 2003所有菜单工具栏格式栏等
    document.all.WebOffice1.HideMenuArea(
    “”,””,””,””);
    效果如下:

    1004291736b3e45edd9e0a3714.jpg



    显示菜单栏,常用工具栏:
    document.all.WebOffice1.HideMenuArea(
    Menu Bar,Standard,””,””);
    隐藏 office 2007 功能区

    document.all.WebOffice1.HideMenuArea(
    “”,””,””,””);
    显示Word 2007 功能区

    document.all.WebOffice1.HideMenuArea(
    show,””,””,””);


    旧接口:

    Word 2003

    short SetToolBarButton2(VARIANT lIndex, VARIANT lID, VARIANT lControl);
    设置所有菜单项或者菜单项按钮的隐藏和现实
    lIndex
    :要显示隐藏的元素名称。根据Word/Excel 的不同版本,可能有部分不同
    Standard:常用工具条
    Formatting:格式化工具条
    Menu Bar:菜单栏
    lID
    :要操作的菜单元素的位置
    lControl
    :按钮状态控制,按位控制,如该值为1时,它的二进制为0001,表示该菜单元素是显示但不可用第一位为:是否显示。0:隐藏;1:显示第二位为:是否可用。0:不可用;1:可用。第三位为:工具栏和菜单栏是否恢复到默认状态。0:不恢复;1:恢复。第四位为:是否隐藏整个菜单栏或工具栏,1为隐藏,0为显示
    示例:
    //
    隐藏菜单栏
    document.all.WebOffice1.SetToolBarButton2("Menu Bar",1,8);
    //
    显示菜单栏
    document.all.WebOffice1.SetToolBarButton2("Menu Bar",1,11);
    //
    隐藏常用工具栏
    document.all.WebOffice1.SetToolBarButton2("Standard",1,8);
    //
    显示常用工具栏
    document.all.WebOffice1.SetToolBarButton2("Standard",1,11);
    //
    隐藏格式工具栏
    document.all.WebOffice1.SetToolBarButton2("Formatting",1,8);
    //
    显示格式工具栏
    document.all.WebOffice1.SetToolBarButton2("Formatting",1,11);

    效果图如下:

    100429173778c902439dcacf57.jpg


    此时用户如果需要将自带工具栏也隐藏可以采用weboffice工具栏隐藏接口:
    document.all.WebOffice1.ShowToolBar=0;// 0
    隐藏 1 显示
    效果如图:

    100429173778c902439dcacf57.jpg



    1
    小时前


    Word 2007

    long HideMenuAction(short shMenuMode, long lValue);
    hMenuMode
    :设置模式:具体值及含义如下:
    0
    Office2003以下,直接关闭菜单,暂未支持。可使用SetToolBarButton2接口控制
    1
    Office2007以上,需要设置关闭菜单列表
    2
    :扩展值,暂无含义
    3
    :扩展值,暂无含义
    4
    :扩展值,暂无含义
    5
    :设置关闭菜单列表后,需调用此值激活。并第二个参数设置为0,具体见示例。
    6
    :恢复菜单显示及功能使用,第二个参数设置为0
    lValue:
    设置要隐藏的菜单及禁止复制、粘贴功能

    0x1000
    :十进制为4096--粘贴无效
    0x2000
    :十进制为8192—复制无效
    0x100000
    :十进制为1048576—开始菜单
    0x200000
    :十进制为2097152—插入菜单
    0x400000
    :十进制为4194304—页面布局菜单
    0x800000
    :十进制为8388608—引用菜单
    0x1000000
    :十进制为16777216—邮件菜单
    0x2000000
    :十进制为33554432—审阅菜单
    0x4000000
    :十进制为67108864—视图菜单
    0x8000000
    :十进制为134217728—开发工具菜单
    0x10000000
    :十进制为268435456—加载项菜单

    //
    设置粘贴无效
    document.all.WebOffice1. HideMenuAction(1,4096);//
    设置动作
    document.all.WebOffice1. HideMenuAction(5,0);//
    激活设置
    //
    设置复制无效
    document.all.WebOffice1. HideMenuAction(1,4096);
    document.all.WebOffice1. HideMenuAction(5,0);
    //
    设置开始菜单隐藏
    document.all.WebOffice1. HideMenuAction(1,1048576);
    document.all.WebOffice1. HideMenuAction(5,0);
    //
    设置多菜单隐藏(比如隐藏开始、插入、页面布局菜单)
    document.all.WebOffice1. HideMenuAction(1,1048576+2097152+4194304);
    document.all.WebOffice1. HideMenuAction(5,0);
    //
    恢复至设置之前状态(即正常状态)
    document.all.WebOffice1. HideMenuAction(6,0);

    您没有权限查看这个主题的附件。

    hangel

     

    帖子: 10

    注册: 2010-07-12 10:39

    页首


    WebOffice开发系列06-自定义工具栏 (添加工具栏按钮、调节工具栏颜色)

    hangel » 2010-07-12 11:42

    调节颜色:
    SetCustomColour(long lType, long lColour)
    lType
    : 设置肤色

    custColorToolBarBKColor = 0,
    底色

    custColorToolBarMiddleColor = 1,
    中间色
    custColorToolBarTopColor = 2,
    上色
    custColorToolBarBottomColor = 3,
    下色
    lColour
    : 为颜色值 0-65535
    已经有的几个模式

    //
    淡紫色
    document.all.WebOffice1.SetCustomColour(2,243*256*256+244*256+250);
    document.all.WebOffice1.SetCustomColour(1,225*256*256+226*256+236);
    document.all.WebOffice1.SetCustomColour(3,153*256*256+151*256+181);
    document.all.WebOffice1.SetCustomColour(0,243*256*256+243*256+247);

    10042916135b8801f3fa7105a9.jpg



    //
    深蓝色
    document.all.WebOffice1.SetCustomColour(2,131*256*256+97*256+59);
    document.all.WebOffice1.SetCustomColour(1,239*256*256+216*256+138);
    document.all.WebOffice1.SetCustomColour(3,133*256*256+94*256+53);
    document.all.WebOffice1.SetCustomColour(0,130*256*256+92*256+52);

    1004291613e2bbbdebd085fd6d.jpg


    //
    浅黄色
    document.all.WebOffice1.SetCustomColour(2,220*256*256+235*256+254);
    document.all.WebOffice1.SetCustomColour(1,196*256*256+219*256+249);
    document.all.WebOffice1.SetCustomColour(3,136*256*256+174*256+228);
    document.all.WebOffice1.SetCustomColour(0,191*256*256+214*256+249);

    1004291613ff44a7d13695f472.jpg


    添加按钮:
    SetCustomToolBtn(long lIndex, LPCTSTR pcBtnText)
    设置自定义菜单的文字信息 系统内置了 5 个按钮。
    SetCustomToolBtn
    0"test0");
    SetCustomToolBtn
    1
    "test2");
    SetCustomToolBtn
    2
    "test2");
    SetCustomToolBtn
    3
    "test3");
    SetCustomToolBtn
    4
    "test4");
    示例:
    document.all.WebOffice1.SetCustomToolBtn(0, "new1");
    document.all.WebOffice1.SetCustomToolBtn(1, "new2");
    document.all.WebOffice1.SetCustomToolBtn(2, "new3");
    document.all.WebOffice1.SetCustomToolBtn(3, "new4");
    document.all.WebOffice1.SetCustomToolBtn(4, "new5");

    10042916131b6837953216bbe2.jpg


    如何实现自定义功能:
    首先页面中要加入js监听事件
    <SCRIPT language=javascript event=NotifyToolBarClick(iIndex) for=WebOffice1>
    <!--
    WebOffice1_NotifyToolBarClick(iIndex);
    //-->
    </SCRIPT>

    function WebOffice1_NotifyToolBarClick(iIndex){
    if(iIndex>=32776){
    alert(iIndex+"
    新加按钮触发的事件可在这里写自己的功能");
    }

    }

    您没有权限查看这个主题的附件。

    hangel

     

    帖子: 10

    注册: 2010-07-12 10:39

    页首


    WebOffice开发系列08-文件上传到服务器

    hangel » 2010-07-12 11:43

    文件上传到服务器,目前WebOffice支持四种模式:
    1. WebOffice
    内部发起HTTP协议的发送,采用Post模式。(详细的说明,可以参照开发文档)

    WebOffice
    控件使用了自身的文件Http上传接口实现文件和表单域的上传保存,本文将简要介绍该上传方式的原理和使用方法。注:点聚WebOffice的上传接口和AIP是一致的。
    原理
    因为Web页面上的WebOffice打开的文件无法随表单记录提交到处理页面,所以我们把文件模拟成表单的文件域<input type=file >,通过接口把文件和表单元素发送到保存记录的页面(过程类似表单的提交)。
    主要上传接口:
    HttpInit();该方法用于初始化上传接口,不需要设置参数
    HttpAddPostString(String FieldName, String someValue);
    添加要提交的表单域, FieldName是要上传表单域名称,someValue是表单域值
    例一:
    HttpAddPostString("username", "zhangSan");
    它类似域表单域的
    <input type=text name=username value=zhangSan>
    例二:
    HttpAddPostString("username", WebForm.username.value);
    .
    <form name= WebForm ><input type=text name=username value=zhangSan></form>
    注意:如果使用点聚上传接口,那么form表单里的表单域不会被提交到处理页面。需要手工添加到上传接口(HttpAddPostString接口),然后通过控件发送到处理页面。例二使用了“WebForm.username.value”获取表单域值。

    HttpAddPostCurrFile(String fileName, String ReName);
    添加当前WebOffice编辑的文件给上传接口,该接口把文件模拟到成一个表单的文件域,并提交到处理页面。
    例一:
    HttpAddPostCurrFile("AipFile", "");
    该接口模拟表单文件域如下:
    <input type=file name=AipFile >
    注意:第二个参数为空表示控件自动为文件命名,如:dj_temp.aip,如果需要重命名可以在第二个参数指明文件名称,也可在保存页面指定文件名称。
    HttpPost(String url);
    执行上传操作将文件和表单域提交到url的页面进行保存操作,并获取url页面返回的执行结果 (是否成功,可以根据这个结果来获取服务器端执行的结果)。
    url
    支持绝对路径和相对路径。
    绝对路径,例如:http://192.168.0.1/savedoc.asp
    相对路径要以“./”或者“../”开头。例如:
    ./savedoc.asp
    完整的上传接口演示

    function SaveDoc() {
    var returnValue; //
    保存页面的返回值
    document.all.WebOffice1.HttpInit(); //
    初始化Http引擎
    //
    添加相应的Post元素
    document.all.WebOffice1.HttpAddPostString("username", WebForm. username.value);
    //
    添加上传文件

    document.all.WebOffice1.HttpAddPostCurrFile("AipFile ","");
    //
    提交上传文件
    returnValue = document.all.WebOffice1.HttpPost("../saveDoc.jsp");
    if("true" == returnValue){
    alert("
    文件上传成功");
    } else {
    alert("
    文件上传失败
    ")
    }
    }
    WebOffice
    上传接口将数据流以Http方式提交到保存页面,至于对数据处理就和普通的文件上传处理一样了

    ---------------------------------------------JSP
    上传代码-------------------------------------------------------------
    上传按钮的onclick事件里内容:

    var webObj=document.getElementById("WebOffice1");

    webObj.HttpInit();
    webObj.HttpAddPostCurrFile("FileBlody");//
    上传当前文件
    webObj.HttpAddPostString("name",name);//
    可以通过我们的控件将一些需要传到服务器的其他内容随文档一起上传

    returnValue = webObj.HttpPost("http://127.0.0.1:8080/TestWebOffice/saveDoc.jsp");

    if("ok" == returnValue){
    alert("
    上传成功!");
    }else if("failed" == returnValue){
    alert("
    上传失败!
    ");
    }

    接收页面saveDoc.jsp使用了上传组件
    SmartUpload
    <%@ page contentType="text/html;charset=GB2312" %><jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />

    <%
    try{
    //
    初始化上传组件

    mySmartUpload.initialize(pageContext);

    mySmartUpload.upload();

    String FilePath;
    com.jspsmart.upload.File myFile = null;
    myFile = mySmartUpload.getFiles().getFile(0);
    FilePath = myFile.getFileName();
    //System.out.println(FilePath);
    if (!myFile.isMissing()){
    myFile.saveAs("upload/"+FilePath,mySmartUpload.SAVE_VIRTUAL);
    }
    out.clear();
    out.print("ok");
    out.flush();
    }catch(Exception e){
    out.clear();
    out.print("failed");//
    返回控件HttpPost()方法值。
    out.flush();

    }%>
    ---------------------------------------------JSP
    上传代码 END-------------------------------------------------------------
    2.
    通过AJAX上传二进制数据

    原理:
    AJAX
    负责上传数据。
    WebOffice
    负责把组织待上传的数据。
    ------------------------------
    例子------------------------------------------------------------------------------------------
    //
    创建AJAX对象

    function createXMLHttpRequest(){
    var xmlHttp = null;
    if (window.ActiveXObject){
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")
    }else if (window.XMLHttpRequest){
    xmlHttp = new XMLHttpRequest()
    };
    return xmlHttp
    };
    //
    发送数据
    function Send2(){
    var xmlHttp = this.createXMLHttpRequest();
    var webObj=document.getElementById("WebOffice1");
    webObj.HttpInit(); //
    初始化Http引擎
    //
    添加相应的Post元素
    webObj.HttpAddPostString("id", "0");
    webObj.HttpAddPostString("DocTitle", "Test001");
    webObj.HttpAddPostString("DocID", "Test001");
    webObj.HttpAddPostString("DocType","doc");
    webObj.HttpAddPostCurrFile("DocContent","");
    //
    设置接受数据的页面。采用同步发送机制。

    xmlHttp.open("POST", "http://192.168.1.1/WebOffice/savedoc.jsp?time=
    随机数生成的时间,防止IE缓存", false);
    //
    打包待上传的数据流

    var vv = document.all.WebOffice1.GetHttpPostFormatData(1);
    //
    发送数据
    xmlHttp.setRequestHeader("Content-Type","multipart/form-data; boundary=--MULTI-PARTS-FORM-DATA-BOUNDARY");
    xmlHttp.send(vv);
    //
    判断接受数据
    if (xmlHttp.status == 200){
    if (!xmlHttp.responseText){
    };
    alert(xmlHttp.responseText);
    }
    alert(xmlHttp.status);
    };
    ------------------------------
    例子 END------------------------------------------------------------------------------------------
    3. WebOffice
    负责把文件生成为字符串

    原理:
    通过接口:GetFileBase64 把二进制文件生成为字符串。通过SaveBinaryFileFromBase64把字符串还原为二进制文件。
    适用于 B/SC/S模式。
    --------------------
    保存字符串到数据库中-------------------------------
    var v = document.all.WebOffice1.GetFileBase64("d:\\Server.dmp",1);
    //
    把字符串赋值给隐藏域
    "FileData"
    document.all.FileData.value = v;
    //submit
    就可以了。

    ----------------------
    打开字符串文件------------------------------------
    //
    获取临时文件名

    var vTempFile = document.all.WebOffice1.GetTempFilePath();
    //
    把字符串保存为临时文件
    var vBase64 = "<%=FileData%>"
    document.all.WebOffice1.SaveBinaryFileFromBase64(vTempFile ,vBase64 );
    //
    调用接口,打开文件即可

    4. WebOffice
    返回文件的数据流,调用程序负责传递数据,一般用于C/S开发模式
    VARIANT GetFileBinary(LPCTSTR strFilePath)

    hangel

     

    帖子: 10

    注册: 2010-07-12 10:39

    页首


    WebOffice开发09-其他功能

    hangel » 2010-07-12 11:44

    Weboffice具有全屏显示的功能,单击“全屏”,word文档会全屏显示在屏幕上,单击右上角的“返回”则可以返回原来的模式,如下图所示:

    10042915429102f0ccbf84212d.jpg



    Weboffice
    支持VBA编程,在使用js调用weboffice的接口获取VBA对象,同过VBA对象可以使用VBA编程对word文档进行编辑,具体的操作如下:
    var obj=document.getElementById(
    webOffice1).GetDocumentObject();
    使用obj就可用调用wordVBA接口,从而对word进行操作。

    您没有权限查看这个主题的附件。

     

    展开全文
  • Office 2010,是微软推出新一代办公软件,开发代号为Office 14,实际是第12个发行版。该软件共有6个版本,分别是初级版、家庭及学生版、家庭及商业版、标准版、专业版和专业高级版,此外还推出Office 2010免费版本,...

     

     Office 2010,是微软推出新一代办公软件,开发代号为Office 14,实际是第12个发行版。该软件共有6个版本,分别是初级版、家庭及学生版、家庭及商业版、标准版、专业版和专业高级版,此外还推出Office 2010免费版本,其中仅包括Word和Excel应用。除了完整版以外,微软还将发布针对Office 2007的升级版Office 2010。Office 2010可支持32位和64位vista及Windows7,仅支持32位WindowsXP,不支持64位XP。

    Office 2010所包括的全部应用有,Microsoft Access 2010,Microsoft Excel 2010;Microsoft InfoPath Designer 2010;Microsoft InfoPath Filler 2010;Microsoft OneNote 2010;Microsoft Outlook 2010;Microsoft PowerPoint 2010;Microsoft Publisher 2010;Microsoft SharePoint Workspace 2010;Microsoft Word 2010;Office Communicator 2010等。

     

     

    新增功能
      1、截屏工具
      新组件:sharepoint 的加载状态Windows Vista就自带了一个简单的截屏工具,Office2010的Word、PowerPoint等组件里也增加了这个非常有用的功能,在插入标签里可以找到(Screenshot),支持多种截图模式,特别是会自动缓存当前打开窗口的截图,点击一下鼠标就能插入文档中。
      2、背景移除工具(Background Removal)
      可以在Word的图片工具下或者图片属性菜单里找到,在执行简单的抠图操作时就无需动用Photoshop了,还可以添加、去除水印。
      3、保护模式(Protected Mode)
      如果打开从网络上下载的文档,Word 2010会自动处于保护模式下,默认禁止编辑,想要修改就得点一下启用编辑(Enble Editing)。大概是出于版权保护的考虑吧。
      4、新的SmartArt模板
      SmarArt是Office 2007引入的一个很酷的功能,可以轻松制作出精美的业务流程图,而Office 2010在现有类别下增加了大量新模板,还新添了数个新的类别。
      5、作者许可(Author Permissions)
      在线协作是Office 2010的重点努力方向,也符合当今办公趋势。Office 2007里审阅标签下的保护文档现在变成了限制编辑(Restrict Editing),旁边还增加了阻止作者(Block Authors)。
      6、Office按钮文档选项
      Office 2007左上角的圆形按扭及其下的菜单让人印象深刻,到了Office 2010里功能更丰富了,特别是文档操作方面,比如在文档中插入元数据、快速访问权限、保存文档到SharePoint位置等等。
      7、Office按钮打印选项
      打印部分此前只有寥寥三个选项,现在几乎成了一个控制面板,基本可以完成所有打印操作。
      8、Outlook 2010 Jumplist
      Jumplist是Windows 7任务栏的新特性,Outlook 2010也得到了支持,可以迅速访问预约、联系人、任务、日历等功能。

     

     

      1.全新的安全策略
      Office2010的开发团队给出了一套新的安全战略,通过分析过去的漏洞来了解漏洞是如何被利用的,还要如何做才能防止今后出现类似的情况。Office2010基于五个基本准则建立了新的多层次的安全模型,这是任何一个开发者都应该记住的:
      在执行之前验证所有用户输入
      查找随机缺陷和不典型使用案例
      不要相信第三方库
      不要把安全措施推给用户
      选择降一级的用户体验,而不是全盘否定
      此外,Office2010中还包含一系列的安全性改进,如加强密码的复杂性、查看下载文件的保护模式、对Outlook中电子邮件线程更好的控制等。
      2.Office2010中的编程代码有所改变
      对开发者来讲,为了支持64位,VBA(应用程序的可视化基础)进行了升级,而Office2010对象模型也已经得到了更新。因此,当企业用户自Office2003升级至Office2010的时候,很有可能需要处理旧的、不兼容的程序代码。
      在Office2010中,Outlook可能是受到影响最大的应用程序,对象模型的变化导致了MAPI接口界面以及导航窗口的调整。
      如果企业用户不想要因为无效代码而导致业务中断的话,那么关键就是对代码兼容性进行计划和测试。
      3.强调云共享功能,提升协同作业效率
      新版Office2010的云共享功能包括跟企业SharePoint服务器的整合,让PowerPoint、Word、Excell等Office文件皆可通过SharePoint平台,同时间供多位员工编辑、浏览,提升文件协同作业效率。
      微软还增强了Office与其他微软通信服务之间的联系。如果用户通过Office2010来使用OfficeCommunicationsServer2007R2和OfficeCommunicator2007R2,就可以看到同事的状态并通过电子邮件和即时通信与之举得联系。SharePoint与Office的联系更为紧密,并允许用户对Office文档进行协作。
      4. 新增的Project 2010
      Project2010中的复制粘贴功能也得到了完善,你可以复制粘贴完整格式的内容,任务增至11个,还支持自动换行。在Project2010中可以自动或手动制订任务,自动制订任务功能和之前版本相同,手动制动的任务自动被分配有图钉按钮,默认不会变动。
      新增的TeamPlanner允许用户轻松地查看团队的工作随着时间的变动,快速找出问题,通过拖放等操作解决问题。
      Project2010还新增了TimelineView,用户可以通过该功能总结你的项目然后和其它Office应用分享这一时间线,用户还可以直接将其复制粘贴到其它Office应用比如Outlook或是PowerPoint中。
      5. 模块产品新增功能


      Office Word 2010
      Office Word 2010 增强了 Navigation Pane 特性,用户可在 Navigation Pane 中快速切换至任何一章节的开头(根据标题样式判断),同时也可在输入框中进行即时搜索,包含关键词的章节标题会高亮显示。例如
      Office Word 2010 也增加了在线实时协作功能,用户可以从 Office Word Web App 中启动 Word 2010 进行在线文档的编辑,并可在左下角看到同时编辑的其他用户(包括其他联系方式、IM 等信息,需要 Office Communicator)。而当其他用户修改了某处后,Word 2010 会提醒当前用户进行同步。(注:此功能也存在于部分其他 Office 2010 程序中)
      另外,用户可在 Office Word 2010, Office PowerPoint 2010 以及 Office OneNote 2010 等 Office 2010 程序中直接插入其他正在运行的软件的截图。
      Office Excel 2010
      Office Excel 2010 新增了 Sparklines 特性,可根据用户选择的数据直接在单元格内画出折线图、柱状图等,并配有 Sparklines 设计面板供自定义样式。
      Office PowerPoint 2010
      Office PowerPoint 2010 除了新增更多幻灯片切换特效、图片处理特效之外,还增加了更多视频功能,用户可直接在 PowerPoint 2010 中设定(调节)开始和终止时间剪辑视频,也可将视频嵌入之 PowerPoint 文件中。
      PowerPoint 2010 左侧的幻灯片面板也新增了分区特性,用户可将幻灯片分区归类,也可对整个区内的所有幻灯片进行操作。见下图中的 Default Section 和 LiveSino Section。
      PowerPoint 2010 也增加了类似格式刷的工具 – Animation Painter,可将动画效果应用至其他对象,用法同格式刷。另外就是上次我提到的 Broadcast Slide Show 在线幻灯片播放功能。
      Office Web Applications 2010
       Office Web Applications 2010 包含 Word Web App, Excel Web App, PowerPoint Web App 以及 OneNote Web App,支持简单的编辑及实时协作功能,支持 IE, Firefox, 和 Safari
      Office Mobile 2010
      Office Mobile 2010 包含新版 Word Mobile, Excel Mobile, PowerPoint Mobile, OneNote Mobile 以及支持对话模式的 Outlook Mobile

     

     

    说完这么多,我们的程序里面如何调用office2010呢,就是在我们的程序里面如何进行办公自动化开发,在我们的程序里面打开office文件呢?

     

    我们基于Visual C++ 新建一个CLR窗体工程,插入一个button,一个webbrower,一个textbox,如下图所示

     

     

    插入下列代码,双击按钮,插入代码

     

    直接运行,如下图所示

     

     

     

    打开doc文件

    打开xls文件

    打开ppt文件

     

     

     

     

    附带,在浏览器面预览office文件时,需要导入下列注册表内容

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Word.Document.8]
    "BrowserFlags"=dword:80000024

    [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Word.RTF.8]
    "BrowserFlags"=dword:80000024

    [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Word.Document.12]
    "BrowserFlags"=dword:80000024

    [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Word.DocumentMacroEnabled.12]
    "BrowserFlags"=dword:80000024

    [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Excel.Sheet.8]
    "BrowserFlags"=dword:80000A00

    [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Excel.Sheet.12]
    "BrowserFlags"=dword:80000A00

    [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Excel.SheetMacroEnabled.12]
    "BrowserFlags"=dword:80000A00

    [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Excel.SheetBinaryMacroEnabled.12]
    "BrowserFlags"=dword:80000A00

    [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/PowerPoint.Show.8]
    "BrowserFlags"=dword:800000A0

    [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/PowerPoint.Show.12]
    "BrowserFlags"=dword:800000A0

    [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/PowerPoint.ShowMacroEnabled.12]
    "BrowserFlags"=dword:800000A0

    [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/PowerPoint.SlideShow.8]
    "BrowserFlags"=dword:800000A0

    [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/PowerPoint.SlideShow.12]
    "BrowserFlags"=dword:800000A0

    [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/PowerPoint.SlideShowMacroEnabled.12]
    "BrowserFlags"=dword:800000A0

     

     

     

    展开全文
  • VS2010是新一代全新开发工具 属于全新的系统构架 VS2010旗舰版功能全景 Office 2010,是微软推出新一代办公软件,开发代号为Office 14,实际是第12个发行版。该软件共有6个版本,分别是初级版、家庭及学生版、...

    VS2010是新一代全新开发工具

     

    属于全新的系统构架

     

    VS2010旗舰版功能全景

     

    Office 2010,是微软推出新一代办公软件,开发代号为Office 14,实际是第12个发行版。该软件共有6个版本,分别是初级版、家庭及学生版、家庭及商业版、标准版、专业版和专业高级版,此外还推出Office 2010免费版本,其中仅包括Word和Excel应用。除了完整版以外,微软还将发布针对Office 2007的升级版Office 2010。Office 2010可支持32位和64位vista及Windows7,仅支持32位WindowsXP,不支持64位XP。

     

    Office 2010所包括的全部应用有,Microsoft Access 2010,Microsoft Excel 2010;Microsoft InfoPath Designer 2010;Microsoft InfoPath Filler 2010;Microsoft OneNote 2010;Microsoft Outlook 2010;Microsoft PowerPoint 2010;Microsoft Publisher 2010;Microsoft SharePoint Workspace 2010;Microsoft Word 2010;Office Communicator 2010等。

     

    新增功能
      1、截屏工具
      新组件:sharepoint 的加载状态Windows Vista就自带了一个简单的截屏工具,Office2010的Word、PowerPoint等组件里也增加了这个非常有用的功能,在插入标签里可以找到(Screenshot),支持多种截图模式,特别是会自动缓存当前打开窗口的截图,点击一下鼠标就能插入文档中。
      2、背景移除工具(Background Removal)
      可以在Word的图片工具下或者图片属性菜单里找到,在执行简单的抠图操作时就无需动用Photoshop了,还可以添加、去除水印。
      3、保护模式(Protected Mode)
      如果打开从网络上下载的文档,Word 2010会自动处于保护模式下,默认禁止编辑,想要修改就得点一下启用编辑(Enble Editing)。大概是出于版权保护的考虑吧。
      4、新的SmartArt模板
      SmarArt是Office 2007引入的一个很酷的功能,可以轻松制作出精美的业务流程图,而Office 2010在现有类别下增加了大量新模板,还新添了数个新的类别。
      5、作者许可(Author Permissions)
      在线协作是Office 2010的重点努力方向,也符合当今办公趋势。Office 2007里审阅标签下的保护文档现在变成了限制编辑(Restrict Editing),旁边还增加了阻止作者(Block Authors)。
      6、Office按钮文档选项
      Office 2007左上角的圆形按扭及其下的菜单让人印象深刻,到了Office 2010里功能更丰富了,特别是文档操作方面,比如在文档中插入元数据、快速访问权限、保存文档到SharePoint位置等等。
      7、Office按钮打印选项
      打印部分此前只有寥寥三个选项,现在几乎成了一个控制面板,基本可以完成所有打印操作。
      8、Outlook 2010 Jumplist
      Jumplist是Windows 7任务栏的新特性,Outlook 2010也得到了支持,可以迅速访问预约、联系人、任务、日历等功能。

     

      1.全新的安全策略
      Office2010的开发团队给出了一套新的安全战略,通过分析过去的漏洞来了解漏洞是如何被利用的,还要如何做才能防止今后出现类似的情况。Office2010基于五个基本准则建立了新的多层次的安全模型,这是任何一个开发者都应该记住的:
      在执行之前验证所有用户输入
      查找随机缺陷和不典型使用案例
      不要相信第三方库
      不要把安全措施推给用户
      选择降一级的用户体验,而不是全盘否定
      此外,Office2010中还包含一系列的安全性改进,如加强密码的复杂性、查看下载文件的保护模式、对Outlook中电子邮件线程更好的控制等。
      2.Office2010中的编程代码有所改变
      对开发者来讲,为了支持64位,VBA(应用程序的可视化基础)进行了升级,而Office2010对象模型也已经得到了更新。因此,当企业用户自Office2003升级至Office2010的时候,很有可能需要处理旧的、不兼容的程序代码。
      在Office2010中,Outlook可能是受到影响最大的应用程序,对象模型的变化导致了MAPI接口界面以及导航窗口的调整。
      如果企业用户不想要因为无效代码而导致业务中断的话,那么关键就是对代码兼容性进行计划和测试。
      3.强调云共享功能,提升协同作业效率
      新版Office2010的云共享功能包括跟企业SharePoint服务器的整合,让PowerPoint、Word、Excell等Office文件皆可通过SharePoint平台,同时间供多位员工编辑、浏览,提升文件协同作业效率。
      微软还增强了Office与其他微软通信服务之间的联系。如果用户通过Office2010来使用OfficeCommunicationsServer2007R2和OfficeCommunicator2007R2,就可以看到同事的状态并通过电子邮件和即时通信与之举得联系。SharePoint与Office的联系更为紧密,并允许用户对Office文档进行协作。
      4. 新增的Project 2010
      Project2010中的复制粘贴功能也得到了完善,你可以复制粘贴完整格式的内容,任务增至11个,还支持自动换行。在Project2010中可以自动或手动制订任务,自动制订任务功能和之前版本相同,手动制动的任务自动被分配有图钉按钮,默认不会变动。
      新增的TeamPlanner允许用户轻松地查看团队的工作随着时间的变动,快速找出问题,通过拖放等操作解决问题。
      Project2010还新增了TimelineView,用户可以通过该功能总结你的项目然后和其它Office应用分享这一时间线,用户还可以直接将其复制粘贴到其它Office应用比如Outlook或是PowerPoint中。
      5. 模块产品新增功能


      Office Word 2010
      Office Word 2010 增强了 Navigation Pane 特性,用户可在 Navigation Pane 中快速切换至任何一章节的开头(根据标题样式判断),同时也可在输入框中进行即时搜索,包含关键词的章节标题会高亮显示。例如
      Office Word 2010 也增加了在线实时协作功能,用户可以从 Office Word Web App 中启动 Word 2010 进行在线文档的编辑,并可在左下角看到同时编辑的其他用户(包括其他联系方式、IM 等信息,需要 Office Communicator)。而当其他用户修改了某处后,Word 2010 会提醒当前用户进行同步。(注:此功能也存在于部分其他 Office 2010 程序中)
      另外,用户可在 Office Word 2010, Office PowerPoint 2010 以及 Office OneNote 2010 等 Office 2010 程序中直接插入其他正在运行的软件的截图。


      Office Excel 2010
      Office Excel 2010 新增了 Sparklines 特性,可根据用户选择的数据直接在单元格内画出折线图、柱状图等,并配有 Sparklines 设计面板供自定义样式。


      Office PowerPoint 2010
      Office PowerPoint 2010 除了新增更多幻灯片切换特效、图片处理特效之外,还增加了更多视频功能,用户可直接在 PowerPoint 2010 中设定(调节)开始和终止时间剪辑视频,也可将视频嵌入之 PowerPoint 文件中。
      PowerPoint 2010 左侧的幻灯片面板也新增了分区特性,用户可将幻灯片分区归类,也可对整个区内的所有幻灯片进行操作。见下图中的 Default Section 和 LiveSino Section。
      PowerPoint 2010 也增加了类似格式刷的工具 – Animation Painter,可将动画效果应用至其他对象,用法同格式刷。另外就是上次我提到的 Broadcast Slide Show 在线幻灯片播放功能。


      Office Web Applications 2010
       Office Web Applications 2010 包含 Word Web App, Excel Web App, PowerPoint Web App 以及 OneNote Web App,支持简单的编辑及实时协作功能,支持 IE, Firefox, 和 Safari
      Office Mobile 2010
      Office Mobile 2010 包含新版 Word Mobile, Excel Mobile, PowerPoint Mobile, OneNote Mobile 以及支持对话模式的 Outlook Mobile

     

    说完这么多,我们的程序里面如何调用office2010呢,就是在我们的程序里面如何进行办公自动化开发,在我们的程序里面自动生成excel与word

     

     

    核心代码如下,基于VS2010创建一个空白CLR工程,插入下列C++代码,直接编译执行之,

     

     

     执行效果如下

    生成excel 2010

     

     

     

    生成 word 2010

    展开全文
  • 更新日期: 2004年09月27日摘要:本文档提供了 Microsoft Office 2003 文件格式概述、检查了文件迁移共存战略、定义了可用的信息共享选项,还提供了其他资源参考。本页内容 简介
  • 点聚Weboffice IE 上的用法: Weboffice7文件夹是weboffice的文件: .cab是一个压缩形式的文件,里面包含了安装信息,IE会自动安装。 Main.js是weboffice的方法接口集合。其他的是我自己写的js方法;   从...
  • 最近在做一个文档安全管理系统,对于大中小客户,是选择MOSS还是WSS作为基础平台开发,研究了一下两者的区别,查到这个文档,与各位分享: WSS 3.0与Form Server 2007、MOSS 2007各版本功能对比 组件概述所有的...
  • 来自:http://blog.csdn.net/atlasroben/archive/2008/08/08/2788155.aspx 做项目,需要获取客户在windowsform程序中编辑的word,excel,来控制客户操作的对象,以前用的axwebborwser,通过浏览器来获取里面的对象进行...
  • Word文档去除烦人的防复制宏保防功能(word文档保护破解技巧) 时下,有些单位传送的Word文档经常喜欢加宏保护,但有时要引用文中内容,却没办法复制,怎办?下面就是破解方法:   word文档保护...
  • MOSS入门介绍 和 概念介绍

    千次阅读 2008-09-01 12:01:00
    该文是转自其他网站,连接地址下边有提到,如有侵权 ,请联系我 Microsoft Office Sharepoint Server 2007(MOSS 2007) 是微软最新推出的服务器产品,由于工作原因,接触到门户的东西比较多,后期会将搜到的一些与...
  • 深入剖析 SharePoint集成 Office 应用程序 Pav Cherny 目录 Office 应用程序集成 扩展 SharePoint UI 使用 Office OpenDocuments 控件 与 SharePoint 进行通信 实现自定义 OpenControl 解决方案 ...
  • office

    万次阅读 2005-05-26 14:18:00
    然后用OFFICE光盘修复后出现:次对象创建于EXCEL中此应用程序不能用来打开此对象请确认此应用对象已真确正确安装并且未被删除,移动或重命名!(在WORD中修改图表是也出现这种情况)后来重新安装OFFICE
  • Office 2010,是微软推出新一代办公软件,开发代号为Office 14,实际是第12个发行版。该软件共有6个版本,分别是初级版、家庭及学生版、家庭及商业版、标准版、专业版和专业高级版,此外还推出Office 2010免费版本,...
  • webdav常用方法和概念总结

    万次阅读 2010-10-26 14:08:00
    摘要:本文论述 WebDAV。...简介随着对 Internet 标准和网络互操作性的日益关注,作为 HTTP 1.1 的扩展,WebDAV(Web 分布式创作和版本控制)已经成为重要的 Web 通讯协议(有关详细信息,请参阅 IETF RFC 2616)。
  • VS2010是新一代全新开发工具 <br />  属于全新的系统构架 <br />  VS2010旗舰版功能全景 <br />  Office 2010,是微软推出新一代办公软件,开发代号为Office 14,实际是第12...
  • SharePoint 2016 安装和部署office line 一部署office online 重要声明;由于没有中文版本,再加上本人英文实在太烂,有洁癖的请自动走开。本文是介绍安装规划。 Office Online server 软硬件需求  我称其为OOS...
  • 用于创建,编辑,转换和渲染Excel文件的原生API,可在任何平台上将电子表格文档导出为多种格式。 Aspose.Cells for .NET - .NET Excel文件操作API 创建,读取,写入和保存Excel文件格式以及将电子表格导出到各种...
  • VS2010新特性: <br />   Office Word 2010  Office Word 2010 增强了 Navigation...例如  Office Word 2010 也增加了在线实时协作功能,用户可以从 Office Word Web App 中启动 Word 20
  • Office(Word/Excel/PPT)问题集

    千次阅读 2011-08-03 17:09:44
    有时候,我们会忘记了Word文档的密码。这种情况下,可以使用一下名为“AdvancedOfficeXPPassWordRecovery”的软件来尝试找回你的密码。该软件可以到www.newhua.com等大型软件下载站上下载得到。安装之后的使用方法为...
1 2 3 4 5 ... 20
收藏数 3,421
精华内容 1,368
关键字:

weboffice保护文档部分编辑