點聚office開發指南
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開發系列09-其他功能-全屏-VBA
webOffice控件自動下載是指在打開網頁時,網頁會自動把webOffice控件下載下來,從而可以將word、excel嵌入到網頁中。控件自動下載的相關代碼如下:
< 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="_ExtentY" value="6350">
</object>
上面的腳本意思是: 自動更新classid= FF1FE7A0-0578-4FEE-A34E-FB21B277D561 的COM組件,
更新地址為 ../js/WebOffice1.ocx,codebase後的路徑為相對路徑也可為絕對路徑,要更新的最新版本為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,值為空表示新建文檔,如果是在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");
==================特別註意===============================
建議在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/S和C/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就可用調用word的VBA接口,從而對word進行操作。
您沒有權限查看這個主題的附件。
點聚office開發指南