昨日

小胜凭智 大胜靠德

C++博客 首页 新随笔 联系 聚合 管理
  2 Posts :: 0 Stories :: 257 Comments :: 0 Trackbacks

公告:留言请到Http://www.dsoframer.com上。


另DSOFramer QQ群: 22190338


=========================

转移战场了   2007-04-26

 

=============================================================
1.Html电子印章、手写签系统
演示:http://www.dianju.com.cn/video.htm

在线试用:
http://www.dianju.com.cn/websignpiaoju/
http://www.dianju.com.cn/websigndemo/

2.Word、Excel 电子印章,手写签名系统:
 演示版:
http://www.dianju.com.cn/video.htm
下载:
http://www.dianju.com.cn/downloads/des/DES_Setup_File.rar


开发商:北京点聚信息技术有限公司
网址:  http://www.dianju.com.cn
公安部安全认证产品!
电子印章、电子签章、电子签名、全文批注、领导签批、安全文档整体解决方案。
点聚电子签章系统特点
1.实现在Word、Excel、Html、PDF、AutoCAD、WPS、RedOffice、SunOffice上加盖印章。
2.采用高度安全机制。
3.手写签批效果,笔迹采用压感处理,用户可以很容易写出毛笔、钢笔等带笔锋的效果。
4.系统提供标准接口,可供客户进行二次开发和各种功能整合。
5.支持多种印章保护控制,有效保护印章的安全。  
... ....
==============================================================




20061123:
转移战场了。http://www.dsoframer.com
免费的空间
------------------------------------------------------


下面接口添加完毕:
1。文档打开、可写密码设置
2。支持Open Http下的文件的 相对路径打开
3。支持对文档中域的自动更新
4。支持创建本地文件,和删除文件
5。获取所有的修订的信息
6。获取所有书签的信息
本周末更新。文档还没写好。
20061120


Thanks For  Fred
QQ群:22190338  群已经快满了。请想加入者给群充Q币先。


20060610:
目前版本 :V2.2
修改后的DSOFrmaer源代码下载:http://www.cppblog.com/Files/wanhhf/DSO_WebOffice_Open_V2.2.rar

1。笨笨修改原版本中的 Post时候,为加 Head ,的Bug。(Thanks )
2. 增加了FTP的功能。


 20060521:

Word,Excel接口文档下载:http://wanhhf.googlepages.com/OfficeSDK_V9.0.rar
修改后的DSOFrmaer源代码下载:http://www.cppblog.com/Files/wanhhf/DSOFramer_Open_V2.0.rar 
编译好的DSOFramer.ocx 下载 :http://www.cppblog.com/Files/wanhhf/DSOFramer_0521.rar 
如何对做好的控件签名:http://www.cppblog.com/wanhhf/AddToFavorite.aspx?id=5759
备注:
       凡对此源代码进行修改的程序,希望能给作者发一份,或在此公开。
 
<object classid="clsid:00460182-9E5E-11d5-B7C8-B8269041DD57"  CodeBase= Dsoframer.ocx#Version=2,0.0,4
id="oframe" width="1000" height="1000">
         <param name="BorderStyle" value="1">
         <param name="TitlebarColor" value="52479">
         <param name="TitlebarTextColor" value="0">
         <param name="Menubar" value="1"> 
 </object>

事件:
1。NotifyCtrlReady 事件,控件初始化完毕会触发
     最好在这个事件里面调用Open,或者CreateNew接口

/*
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("http://xxxx.com/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::   ::FILE::
一般来说: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 则显示修订
*/
//显示修订留痕
document.all.FramerControl1.ShowRevisions(1);
//隐藏修订留痕
document.all.FramerControl1.ShowRevisions(0);
/*
*/
document.all.FramerControl1.InSertFile("http://localhost/1.doc");


/*
11.设置文档浏览模式
 ShowView(long dwViewType)

*/
//大纲模式
document.all.FramerControl1.ShowView(5);

/*
12.插入合并文件,
strFieldPath 文件路径,可以是http,ftp的路径

pPos = 0 //当前鼠标位置
1;文件开头
2;文件末尾
 
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);



===================================================================
DSOFramer原有的接口说明
1.void CreateNew(BSTR ProgIdOrTemplate)
  新建文档,
  其中: ProgIdOrTemplate参数:
Excel Spreadsheet     "Excel.Sheet"
Excel Chart        "Excel.Chart"
PowerPoint Presentation  "PowerPoint.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();
 //... ...
 //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 //文档已经保存,没有修改
 

 

posted on 2006-02-20 16:59 昨日 阅读(52691) 评论(255)  编辑 收藏 引用
评论共3页: 1 2 3 

Feedback

# re: DSOFramer 控件修改成功 2006-10-30 10:28 你好
请问dsoframerex.ocx1.0.0.0支持document.all.FramerControl1.HttpInit()?  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-10-30 11:16 scutwukai
@你好
应该不支持,http上传功能是楼主自己加上的,原来应该是没有的  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-10-30 13:02 scutwukai
源码编译link时出错,XMLHttpClient.h只有声明没有定义,是不是漏了文件了  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-11-01 14:01 DSO
能否实现在一个DSOFramer中打开两个以上的EXCEL文件?  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-11-02 11:49 cainiao
请教前辈,如何把图片(印章)写入USBKey?  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-11-02 11:53 cainiao
5.盖章USB钥匙盘通过国家密码管理委员会和中国公安部的鉴定。
--------------------------------------------------------
请问如何把印章图像写入usbkey?你那个否给个解释  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-11-06 09:27 qhak
document.all.FramerControl1.HttpInit();
在使用这一句的时候会抱错。控件错误直接导致所有IE都会关闭  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-11-10 22:30 sun
我想控制ppt文件的放映,且放映必须在控件窗口内进行。我用的是VC,通过GetActiveDocument得到当前文档,调用DsoDispatchInvoke得到Presentation接口,并调用DsoDispatchInvoke得到Presentation.SlideShowSettings接口,调用SlideShowSettings.Run方法,可以完成放映,但放映不在控件窗口中进行,而是重新打开了一个放映窗口。请教大师:用什么方法可以在DsoFramer窗口中放映PPT文档  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-11-10 22:33 sun
我想控制ppt文件的放映,且放映必须在控件窗口内进行。我用的是VC,通过GetActiveDocument得到当前文档,调用DsoDispatchInvoke得到Presentation接口,并调用DsoDispatchInvoke得到Presentation.SlideShowSettings接口,调用SlideShowSettings.Run方法,可以完成放映,但放映不在控件窗口中进行,而是重新打开了一个放映窗口。请教大师:用什么方法可以在DsoFramer窗口中放映PPT文档
我的油箱地址:sangjinrui@163.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-11-21 00:53 昨日
这个问题,是第一次报,请给出详细的环境@qhak
  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-11-21 01:08 昨日
before Invoke the SlideShowSettings.Run.
U should Set SlideShowSettings.ShowType = 2
@sun

SlideShowSettings.ShowType = 2
SlideShowSettings.Run  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-11-21 01:09 昨日
请直接联系他们吧。@cainiao
  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-11-21 01:09 昨日
这个是什么需求阿。你可以放两个DSOFramer@DSO
  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-11-22 21:57 sun
还有一个问题一直很困惑。DsoFramer中采用了DsoDispatchInvoke全局方法完成打开文档操作,打开文档用了DSOF_DISPID_DOCOPEN参数(值为2),实质上它调用了
m_dispEvents->Invoke(dspid, IID_NULL, LOCALE_USER_DEFAULT, (WORD)(DISPATCH_METHOD | wflags), &dspparm, pvtret, NULL, NULL);方法。我感到不解的是m_dispEvents是什么接口。
从方法CDsoFramerControl::XConnectionPoint::Advise(IUnknown *pUnk, DWORD *pdwCookie)中可以看出m_dispEvents是Idispatch接口(因为IID_DISPATCH)。
在我的应用中,我想取出打出PPT文件的每个Slide并进行设置,于是我对控件Open方法进行了修改。代码如下:
STDMETHODIMP CDsoFramerControl::Open(VARIANT Document, VARIANT ReadOnly, VARIANT ProgId, VARIANT WebUsername, VARIANT WebPassword)
{
。。。。。。。
SetCursor(hCur);
//以上是Open的原代码,为了简略省去,从SetCursor(hCur)这里加入了我的代码

VARIANT retValue;
VariantInit(&retValue);
retValue.vt = VT_DISPATCH;

//取出当前文档的Presentation接口
GUID IID_PRESENTATION = {0x9149349D, 0x5A91, 0x11CF, {0x87, 0x00, 0x00, 0xAA, 0x00, 0x60, 0x26, 0x3B}};
IDispatch* pActionDoc;
IDispatch* pPresentation;
get_ActiveDocument(&pActionDoc);

hr = pActionDoc->QueryInterface(IID_PRESENTATION, (void**)&pPresentation);
//省去了验证代码

//获得Slides接口
VariantClear(&retValue);
dspidPut = 0x000007db;
hr = pPresentation->Invoke(dspidPut, IID_NULL, LOCALE_USER_DEFAULT, (WORD)(DISPATCH_PROPERTYGET), &dspparm, &retValue, NULL, NULL);
if (!SUCCEEDED(hr))
{
MessageBox(m_hwnd, "Failed to get the Slides Property", "Slides", MB_OK);
}

LPDISPATCH pSlides = retValue.pdispVal;

//得到幻灯的总数
dspidPut = 0x0000000b;
hr = pSlides->Invoke(dspidPut, IID_NULL, LOCALE_USER_DEFAULT, (WORD)(DISPATCH_PROPERTYGET), &dspparm, &retValue, NULL, NULL);

dspparm.cArgs = 0;
dspparm.cNamedArgs = 0;
dspparm.rgdispidNamedArgs = NULL;
dspparm.rgvarg = NULL;
//对每一张幻灯完成一定设置

m_lSlideCount = retValue.lVal;
VariantClear(&retValue);

IDispatch* pSlide;
IDispatch* pSlideShowTransition;
m_lTotalTime = 0;
m_lCurrentSlide = 0;
CTimeList* pTail = NULL;
UINT ermsg;
EXCEPINFO excep;

for (int i=2; i<m_lSlideCount; i++)
{
//Get slide(i) from the SLides interface using Index method
VARIANT index;
VariantInit(&index);
index.vt = VT_INT;
index.intVal = i;
dspparm.cArgs = 1;

VARIANT rgargs[1];
rgargs[0].vt = VT_BYREF|VT_VARIANT;
rgargs[0].pvarVal = &index;
dspparm.rgvarg = rgargs;
//调用Item方法取出slide(i) 此处出错(错误码为DISP_E_EXCEPTION 80020009)
hr = pSlides->Invoke(0x00000000, IID_NULL, LOCALE_USER_DEFAULT, (WORD)(DISPATCH_METHOD), &dspparm, &retValue, &excep, &ermsg);

pSlide = retValue.pdispVal;
VariantClear(&retValue);
Return hr;
}
  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-11-22 22:06 sun
感谢大师指点,但我对OLE一直不是很懂,还请大师耐心辅导:
还有几个问题一直很困惑。以下问题针对PPT文档。
(1)DsoFramer中采用了DsoDispatchInvoke全局方法完成打开文档操作,打开文档用了DSOF_DISPID_DOCOPEN参数(值为2,与PowerPoint对象模型中的Presentations接口的Open的dspID不同),实质上它调用了
m_dispEvents->Invoke(dspid, IID_NULL, LOCALE_USER_DEFAULT, (WORD)(DISPATCH_METHOD | wflags), &dspparm, pvtret, NULL, NULL);方法。从方法CDsoFramerControl::XConnectionPoint::Advise(IUnknown *pUnk, DWORD *pdwCookie)中可以看出m_dispEvents是Idispatch接口(因为IID_DISPATCH)。我感到不解的是m_dispEvents是什么接口? 它对应Application中的哪一级?
(2)从GetActiveDocument得到的对象接口是Powerpoint对象模型中的哪一级(是Application吗?)

(3)在我的应用中,我想取出打出PPT文件的每个Slide并进行设置,于是我对控件Open方法进行了修改。代码如下:
STDMETHODIMP CDsoFramerControl::Open(VARIANT Document, VARIANT ReadOnly, VARIANT ProgId, VARIANT WebUsername, VARIANT WebPassword)
{
。。。。。。。
SetCursor(hCur);
//以上是Open的原代码,为了简略省去,从SetCursor(hCur)这里加入了我的代码

VARIANT retValue;
VariantInit(&retValue);
retValue.vt = VT_DISPATCH;

//取出当前文档的Presentation接口
GUID IID_PRESENTATION = {0x9149349D, 0x5A91, 0x11CF, {0x87, 0x00, 0x00, 0xAA, 0x00, 0x60, 0x26, 0x3B}};
IDispatch* pActionDoc;
IDispatch* pPresentation;
get_ActiveDocument(&pActionDoc);

hr = pActionDoc->QueryInterface(IID_PRESENTATION, (void**)&pPresentation);
//省去了验证代码

//获得Slides接口
VariantClear(&retValue);
dspidPut = 0x000007db;
hr = pPresentation->Invoke(dspidPut, IID_NULL, LOCALE_USER_DEFAULT, (WORD)(DISPATCH_PROPERTYGET), &dspparm, &retValue, NULL, NULL);
if (!SUCCEEDED(hr))
{
MessageBox(m_hwnd, "Failed to get the Slides Property", "Slides", MB_OK);
}

LPDISPATCH pSlides = retValue.pdispVal;

//得到幻灯的总数
dspidPut = 0x0000000b;
hr = pSlides->Invoke(dspidPut, IID_NULL, LOCALE_USER_DEFAULT, (WORD)(DISPATCH_PROPERTYGET), &dspparm, &retValue, NULL, NULL);

dspparm.cArgs = 0;
dspparm.cNamedArgs = 0;
dspparm.rgdispidNamedArgs = NULL;
dspparm.rgvarg = NULL;
//对每一张幻灯完成一定设置

m_lSlideCount = retValue.lVal;
VariantClear(&retValue);

IDispatch* pSlide;
IDispatch* pSlideShowTransition;
m_lTotalTime = 0;
m_lCurrentSlide = 0;
CTimeList* pTail = NULL;
UINT ermsg;
EXCEPINFO excep;

for (int i=2; i<m_lSlideCount; i++)
{
//Get slide(i) from the SLides interface using Index method
VARIANT index;
VariantInit(&index);
index.vt = VT_INT;
index.intVal = i;
dspparm.cArgs = 1;

VARIANT rgargs[1];
rgargs[0].vt = VT_BYREF|VT_VARIANT;
rgargs[0].pvarVal = &index;
dspparm.rgvarg = rgargs;
//调用Item方法取出slide(i) 此处出错(错误码为DISP_E_EXCEPTION 80020009)
hr = pSlides->Invoke(0x00000000, IID_NULL, LOCALE_USER_DEFAULT, (WORD)(DISPATCH_METHOD), &dspparm, &retValue, &excep, &ermsg);

pSlide = retValue.pdispVal;
VariantClear(&retValue);
Return hr;
}
  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-11-22 22:09 sun
感谢大师指点,但我对OLE一直不是很懂,还请大师耐心辅导:
还有几个问题一直很困惑。以下问题针对PPT文档。
(1)DsoFramer中采用了DsoDispatchInvoke全局方法完成打开文档操作,打开文档用了DSOF_DISPID_DOCOPEN参数(值为2,与PowerPoint对象模型中的Presentations接口的Open的dspID不同),实质上它调用了
m_dispEvents->Invoke(dspid, IID_NULL, LOCALE_USER_DEFAULT, (WORD)(DISPATCH_METHOD | wflags), &dspparm, pvtret, NULL, NULL);方法。从方法CDsoFramerControl::XConnectionPoint::Advise(IUnknown *pUnk, DWORD *pdwCookie)中可以看出m_dispEvents是Idispatch接口(因为IID_DISPATCH)。我感到不解的是m_dispEvents是什么接口? 它对应Application中的哪一级?
(2)从GetActiveDocument得到的对象接口是Powerpoint对象模型中的哪一级(是Application吗?)

(3)在我的应用中,我想取出打出PPT文件的每个Slide并进行设置,于是我对控件Open方法进行了修改。代码如下:
STDMETHODIMP CDsoFramerControl::Open(VARIANT Document, VARIANT ReadOnly, VARIANT ProgId, VARIANT WebUsername, VARIANT WebPassword)
{
。。。。。。。
SetCursor(hCur);
//以上是Open的原代码,为了简略省去,从SetCursor(hCur)这里加入了我的代码

VARIANT retValue;
VariantInit(&retValue);
retValue.vt = VT_DISPATCH;

//取出当前文档的Presentation接口
GUID IID_PRESENTATION = {0x9149349D, 0x5A91, 0x11CF, {0x87, 0x00, 0x00, 0xAA, 0x00, 0x60, 0x26, 0x3B}};
IDispatch* pActionDoc;
IDispatch* pPresentation;
get_ActiveDocument(&pActionDoc);

hr = pActionDoc->QueryInterface(IID_PRESENTATION, (void**)&pPresentation);
//省去了验证代码

//获得Slides接口
VariantClear(&retValue);
dspidPut = 0x000007db;
hr = pPresentation->Invoke(dspidPut, IID_NULL, LOCALE_USER_DEFAULT, (WORD)(DISPATCH_PROPERTYGET), &dspparm, &retValue, NULL, NULL);
if (!SUCCEEDED(hr))
{
MessageBox(m_hwnd, "Failed to get the Slides Property", "Slides", MB_OK);
}

LPDISPATCH pSlides = retValue.pdispVal;

//得到幻灯的总数
dspidPut = 0x0000000b;
hr = pSlides->Invoke(dspidPut, IID_NULL, LOCALE_USER_DEFAULT, (WORD)(DISPATCH_PROPERTYGET), &dspparm, &retValue, NULL, NULL);

dspparm.cArgs = 0;
dspparm.cNamedArgs = 0;
dspparm.rgdispidNamedArgs = NULL;
dspparm.rgvarg = NULL;
//对每一张幻灯完成一定设置

m_lSlideCount = retValue.lVal;
VariantClear(&retValue);

IDispatch* pSlide;
IDispatch* pSlideShowTransition;
m_lTotalTime = 0;
m_lCurrentSlide = 0;
CTimeList* pTail = NULL;
UINT ermsg;
EXCEPINFO excep;

for (int i=2; i<m_lSlideCount; i++)
{
//Get slide(i) from the SLides interface using Index method
VARIANT index;
VariantInit(&index);
index.vt = VT_INT;
index.intVal = i;
dspparm.cArgs = 1;

VARIANT rgargs[1];
rgargs[0].vt = VT_BYREF|VT_VARIANT;
rgargs[0].pvarVal = &index;
dspparm.rgvarg = rgargs;
//调用Item方法取出slide(i) 此处出错(错误码为DISP_E_EXCEPTION 80020009)
hr = pSlides->Invoke(0x00000000, IID_NULL, LOCALE_USER_DEFAULT, (WORD)(DISPATCH_METHOD), &dspparm, &retValue, &excep, &ermsg);

pSlide = retValue.pdispVal;
VariantClear(&retValue);
Return hr;
}
请问大师:我想用Slides.Item方法取出单个slide为什么为出错?如何取出单个Slide?
谢谢!
  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-12-01 13:43 long
M$给的版本,使用“ActiveX控件测试容器”测试,退出后会出现一个错误的报告,请问这是什么错误?如何解决~
谢谢!!   回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-12-09 21:43 hai
那个论坛注册了无法登陆,老大能否再加个功能啊,就是可以控制某个菜单是否显示,比如“工具”菜单  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-12-15 17:25 houjie
麻烦您能给我一份吗?我想看看谢谢!!houjie_a@126.com

您提供的下载解压缩的时候说有问题。打不开。麻烦您发一份谢谢  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-12-18 09:51 qhak
@昨日
上次的问题已经解决
是我配置错误
但是现在遇到一个新问题
以前在文档保存的时候 我是用你提供的那个方法保存的
但是在第二次以后再打开的时候就没办法保存了
但是我却发现 用控件自带的那个保存功能却能实现把你修改的东西给保存到服务器
但是一直到前两天 出现了使用控件自带的保存功能无法保存了
目前不知道是什么原因 很郁闷
希望你能给一点关于 控件自带保存按钮的一些资料 谢谢
  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-12-21 19:43 qhak
楼主!!!
上面的问题我解决了
还是先谢谢你了
不过我现在有个建议
我发现原来在打开的时候不支持中文啊!!!
很郁闷!!
如果不支持中文的话 估计我很难搞定
嘿嘿 真希望明天早上再上来的时候楼主已经更新版本
支持中文路径了  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-12-22 14:17 Ivan Zakharov
Hello.
Please, could you write your comments in english?
This project is very interesting to me (and not only to me), but I can't read in chinese (also with help of google translate).
Thank you.
Ivan from Moscow.  回复  更多评论
  

# re: DSOFramer 控件修改成功 2006-12-28 16:40 Jerry
问个弱弱的问题,要取得当前打开word中被选中的文本应该用什么方法?我要在控件失去焦点的时候将word中选中的文本放到一个隐藏的文本框中应该如何操作?
多谢!!!mail:brooklet@126.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-01-09 16:29
牛人请发份代码给我,谢谢了。
bress@sohu.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-01-09 16:36
强,我也要。谢谢。
yanggao2@hotmail.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-01-09 19:12 jjchan
您好,正在研究dsoframer,能给我一份代码吗?希望能一起研究探讨
jjchan1976@gmail.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-01-15 09:24 上帝
我最近也在研究dosframer
哪位仁兄可以发一份源代码给我吗
da_cheng1028@yahoo.com.cn  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-01-19 15:51
请教document.all.oframe.HttpAddPostCurrFile("File", "")返回为false怎么办?  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-01-19 16:01
@jisen
这样写<object id="MyOffice" name = "MyOffice" style="LEFT: 0px; WIDTH: 100%; TOP: 0px; HEIGHT: 100%"
classid="clsid:00460182-9E5E-11D5-B7C8-B8269041DD57" codebase="dsoframer.ocx#version=2,2,0,0" >
</object>
把dsoframer.ocx放到工程中。  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-01-25 10:48 你好
我实现了用asp可以将dsoframer打开的文件上传到服务器.
多谢大家的帮助.以后自己还要多学点才行.  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-01-26 12:28
我下载的2.2打不开,谁能发一个给我?yyygtao@163.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-01-31 16:10 kingsay
请问楼主如何给dsoframe控件增加属性,谢谢!  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-02-03 02:42 Petr
I very need DSO_WebOffice_Open_V2.2.rar and DSOFramer_Open_V2.0.rar, but i can not to download it. Please, help me. Sent in to my email: intertur@gmail.com I'm from Russia and don't speak Japanese, so sorry.

Links don't work:
http://www.cppblog.com/Files/wanhhf/DSO_WebOffice_Open_V2.2.rar
http://wanhhf.googlepages.com/OfficeSDK_V9.0.rar
http://www.cppblog.com/Files/wanhhf/DSOFramer_Open_V2.0.rar
http://www.cppblog.com/Files/wanhhf/DSOFramer_0521.rar   回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-02-08 11:03 有点意思
生成成功,但一打开DsoFrame就出现:
Debug Assertion Failed 的错误.

与编译时下面的警告有没有关系?

Linking...
LINK : warning LNK4075: ignoring /INCREMENTAL due to /FORCE specification
nafxcwd.lib(afxmem.obj) : warning LNK4006: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in utilities.obj; second definition ignored
nafxcwd.lib(afxmem.obj) : warning LNK4006: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in utilities.obj; second definition ignored
nafxcwd.lib(afxmem.obj) : warning LNK4006: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in utilities.obj; second definition ignored
nafxcwd.lib(afxmem.obj) : warning LNK4006: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in utilities.obj; second definition ignored
Creating library Debug/VimlongOA.lib and object Debug/VimlongOA.exp
LINK : warning LNK4098: defaultlib "nafxcw.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib "libc.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
Debug/VimlongOA.ocx : warning LNK4088: image being generated due to /FORCE option; image may not run
Performing registration  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-03-06 15:32 bgr
不保存,如何关闭文档?  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-03-06 15:34 bgr
不用修改,能否只显示文档(没有标题栏、工具栏、菜单栏等)  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-03-10 18:24 文工
在RESIN平台上,打开服务器上的文件时,不支持中文文件名,而在IIS和RESIN结合的平台上则可以  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-03-12 17:45 KK
下载下来解压失败,能发个最新版源码给我吗?谢谢!! spark_chan@126.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-03-12 20:29 vicen
不能下载,正在使用很感兴趣,能发个最新版源码给我吗?谢谢!! nishiwho1017@163.com   回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-03-12 20:38 lww
希望提供XmlHttpClient.cpp程序文件.  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-03-12 20:39 lww(qq:261533595,email:longwuwei@qq.com)
(qq:261533595,email:longwuwei@qq.com)  回复  更多评论
  

# re: DSOFramer 控件修改成功[未登录] 2007-03-13 10:00 小李
请问dsoframer在WIN2003服务器中上传不了.使用下面程序没任何反应,这是为什么????

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("http://xxxx.com/uploadfile.aspX");
  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-03-23 12:55 grand_zou
由于现在office 2003以上的版本就支持取消痕迹的功能,因此我想大侠们能否加一项功能禁掉右键菜单以及上面的工具菜单,谢谢!  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-04-04 10:52 wang20051
@昨日
[遇到同样问题]:估计是路径问题
dso控件没能调用到"http://xxxx.com/uploadfile.aspX"方法
因而没有执行任何程序
用相对路径也不行(./uploadfile.aspX)
郁闷中,还找不到解决方法
@小李
  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-04-16 23:00 grand_zou
致昨日,在你2.2的基础上,如何控制office上的菜单,让他都不显示,另控制文档里的右键菜单,请指点,谢谢!  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-05-01 04:19 lc_rius
那位有DSOFramer修改后的源代码,能否传我一份,小弟正在学习,多谢!!
lc_rius@126.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-05-05 13:04 vbidata
小弟也迫切需要一份,哪位发我一份, 多谢!!
vbidata@126.com   回复  更多评论
  

# MS_DSOFramer_OpenSource_V2.2.0.6修改后的源代码 2007-05-09 09:17 菠菜
由于dsoframer.com经常访问不到,故个人把它放在dsoframer.cn上。
请到 http://www.dsoframer.cn 上下载。  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-05-17 18:59 WSF
朋友厉害啊!!!
可以给一份源代码学习一下吗?

wsf1081@163.com
谢谢啊!呵呵
  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-05-27 17:29 Louis Deng
qq群满了哇

哪位大侠能给小弟发一份源码阿
denglu36@yahoo.com.cn

3ks!!!!!  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-07-06 10:41 liang
linzaogang@163.com 谁能发份源码给我啊  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-08-16 13:12 Axiao
请问电子印章功能和手签功能是开放的吗?  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-08-17 18:40 jj
xjj7@tom.com可以给我发一份源代码吗?  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-10-08 17:44 yuandong
能不能发一份源代码,谢谢了,我的EMail: yuandongyc@163.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-11-14 19:06 qin


预览关闭报BUG,请修复一下  回复  更多评论
  

# re: DSOFramer 控件修改成功 2007-12-20 20:17 林继平
给我发一份源代码,谢谢! Yagal@126.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-01-15 22:22 1111
给我发一份源代码,谢谢! chenhongbiao1980@136.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-01-16 10:37 jacki
谁有这个的源码啊?我想参考一下啊
lcadmin@126.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-03-06 20:50 zjj
Request.Files[0]出错, Request.Files.count为0,该如何解决啊!谢谢了!  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-03-06 20:55 zjj
Request.Files[0]出错, Request.Files.count为0;该如何解决啊?
document.all.FramerControl1.HttpInit();
//增加Post变量
document.all.FramerControl1.HttpAddPostString("RecordID","20060102200");
document.all.FramerControl1.HttpAddPostString("UserID","李局长");
//上传打开的文件
document.all.FramerControl1.HttpAddPostCurrFile("FileData", "temp.doc");
//执行上传动作
alert("http://"+host+"/jssjc_bs/report/temp.doc");
document.all.FramerControl1.HttpPost("http://"+host+"/jssjc_bs/Savedc.aspx?eiID="+eiID+",etID="+etID+",dtID="+dtID+",detID="+detID);
save.dc页面代码:
HttpPostedFile upPhoto = Request.Files[0];
int upPhotoLength = upPhoto.ContentLength;
byte[] PhotoArray = new Byte[upPhotoLength];
Stream PhotoStream = upPhoto.InputStream;
PhotoStream.Read(PhotoArray, 0, upPhotoLength);
高手帮我看看啊!谢谢!
我的邮箱:zjj3893@163.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-04-02 14:23 huagangster
2.2.1.2中的 utilities.cpp 中的
pFile = session.OpenURL(
W2A(pwszURL),0, INTERNET_FLAG_TRANSFER_BINARY|
INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_RELOAD|
INTERNET_FLAG_DONT_CACHE );

应该改成
pFile = session.OpenURL(
W2A(pwszURL),0, INTERNET_FLAG_TRANSFER_BINARY|
INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_RELOAD|
INTERNET_FLAG_DONT_CACHE | INTERNET_FLAG_EXISTING_CONNECT);

huagangster@gamil.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-04-02 14:26 huagangster
2.2.1.2中的 utilities.cpp 中的
pFile = session.OpenURL(
W2A(pwszURL),0, INTERNET_FLAG_TRANSFER_BINARY|
INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_RELOAD|
INTERNET_FLAG_DONT_CACHE );

应该改成
pFile = session.OpenURL(
W2A(pwszURL),0, INTERNET_FLAG_TRANSFER_BINARY|
INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_RELOAD|
INTERNET_FLAG_DONT_CACHE | INTERNET_FLAG_EXISTING_CONNECT);
xxxxxxxxxxxxxxxxxxxxxxxxx
huagangster@gamil.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-05-04 20:12 he
31491454(java/c++/c)群  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-05-14 15:27 永远的菜鸟
好不容易找倒这了 请问在 JSP 中如何调用此控件打开、修改、并保存服务器上的 word 文档  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-05-20 16:24 Odin
在dsoframer里面打开 word 模板,在模板的 priview里面退出后,模板显示总会处于“field code”状态

=,= 尝试好久还是不明为啥。。  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-05-26 16:50 wrj32366670@163.com
能关闭WORD自身的菜单最好。  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-06-26 20:59 thankyou
activecell 怎么确定  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-07-01 10:45 吴晓聪
现在上面的资源不能用了,有谁下载了请给我发一份好吗?谢谢!
yuncsoft@yahoo.com.cn  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-07-08 16:06 Vansoft
大哥,链接失效了,更新一下吧。  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-07-31 17:49 webnie
确实有以下问题:打开服务器上的文件,保存提示"另一个程序正在使用此文件,进程无法访问",有哪位兄弟解决了  回复  更多评论
  

#  DSOFramer 控件的应用 2008-08-10 19:56 xinboxinxi
Once you load in the PP document you have access to PP via the
Automation object.
Here's some sample code to do what you want.



Add a reference to the PP Object library for whatever version of
PowerPoint is on your system.
Place a DSOFramer control on a Form. Name the control ctlDSO.
Add a CommandButton and place the indicated code behind it.


Option Compare Database


Dim dso As DSOFramer.FramerControl


Dim pp As PowerPoint.Presentation


Private Sub cmdSlide_Click()
On Error GoTo Err_cmdSlide_Click


Set pp = dso.ActiveDocument
pp.Windows(1).ViewType = ppViewSlideSorter
Exit_cmdSlide_Click:
Exit Sub


Err_cmdSlide_Click:
MsgBox Err.Description
Resume Exit_cmdSlide_Click


End Sub


Private Sub Form_Load()
Set dso = Me.ctlDSO.Object


End Sub


Private Sub Form_Unload(Cancel As Integer)
Set dso = Nothing


End Sub
(可以运用于PPT上,一很好的文章,同此可将OFFICE中的宏插入程序语言中)  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-08-23 09:12 士大夫士大夫
怎么执行WORD合并啊?  回复  更多评论
  

# re: DSOFramer 控件修改成功 2008-09-04 09:21 傻瓜
各位大虾,谁有DsoFramer的源码,能够实现将文件上传至服务器的,给俺一份,邮箱:jin_wandu@qq.com,谢谢  回复  更多评论
  

# re: DSOFramer 控件修改成功 2009-02-09 09:58 周公解梦
写的很好,
但我基本看不明白

我想问问,这个控件在IE7上为什么不能使用?  回复  更多评论
  

# re: DSOFramer 控件修改成功 2009-03-12 10:22
我怎么打不开文档了  回复  更多评论
  

# re: DSOFramer 控件修改成功 2009-04-05 21:01 csdn
下载链接已经失效  回复  更多评论
  

# re: DSOFramer 控件修改成功 2009-04-21 14:19 大侠
http://download.microsoft.com/download/7/1/2/712086b9-20de-4bf8-967b-2ef4b5ae4f6f/DsoFramer_KB311765_x86.exe  回复  更多评论
  

# 哪位仁兄可以发一份源代码给我吗 2009-08-03 22:49 阿飞
我最近也在研究dosframer
哪位仁兄可以发一份源代码给我吗
zhuhaiyuanfei@163.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2009-10-04 12:15 阿明
也请发一份到saliming@sina.com。
我也正在研究。  回复  更多评论
  

# re: DSOFramer 控件修改成功 2010-01-08 17:51
@DSO
这个问题我也关注  回复  更多评论
  

# re: DSOFramer 控件修改成功 2010-01-19 17:43 大涛
各位大虾,谁有DsoFramer.oxc编译好,能够实现将文件上传至服务器的,给俺一份,邮箱:xiaodatao@yahoo.cn,谢谢  回复  更多评论
  

# re: DSOFramer 控件修改成功 2010-03-01 18:53 BESTLINDSEY21
The <a href="http://lowest-rate-loans.com/topics/personal-loans">personal loans</a> seem to be very useful for guys, which would like to ground their company. In fact, that's very comfortable to get a auto loan.   回复  更多评论
  

# re: DSOFramer 控件修改成功 2010-03-18 22:09 wfmwhif
可以在控件的激活状态改变过程中添加剪贴板API函数,控件系统剪贴板,实现禁止拷贝功能。此外,还需要设置激活策略和框架钩子策略。  回复  更多评论
  

# re: DSOFramer 控件修改成功 2010-06-10 09:45 原游
楼上说的也是我的疑问。
ofram.DsoHttpInit();
//增加Post变量
ofram.DsoHttpAddPostString("RecordID","20060102200);
ofram.DsoHttpAddPostString("UserID","李局长");
//上传打开的文件
ofram.DsoHttpAddPostCurrFile("FileData", "文档名.doc");
//执行上传动作
ofram.DsoHttpPost("http://xxxx.com/uploadfile.asp"">http://xxxx.com/uploadfile.asp");
========================================
我打开一个服务器文件。这办得到。
也不必重命名。修改一下再存到服务器怎么弄?

再存到服务器应是点了'保存'菜单就作了。

感觉应是在保存触发事件上写以上语句。
那么不需要"文档名.doc"。
ofram.DsoHttpPost("http://xxxx.com/uploadfile.asp"">http://xxxx.com/uploadfile.asp"); 中的uploadfile.asp如何写?放在自己的服务器中?为何有http://?
请各位大侠帮助。
  回复  更多评论
  

# re: DSOFramer 控件修改成功 2010-06-10 09:46 原游
楼上说的也是我的疑问。
ofram.DsoHttpInit();
//增加Post变量
ofram.DsoHttpAddPostString("RecordID","20060102200);
ofram.DsoHttpAddPostString("UserID","李局长");
//上传打开的文件
ofram.DsoHttpAddPostCurrFile("FileData", "文档名.doc");
//执行上传动作
ofram.DsoHttpPost("http://xxxx.com/uploadfile.asp"">http://xxxx.com/uploadfile.asp");
========================================
我打开一个服务器文件。这办得到。
也不必重命名。修改一下再存到服务器怎么弄?

再存到服务器应是点了'保存'菜单就作了。

感觉应是在保存触发事件上写以上语句。
那么不需要"文档名.doc"。
ofram.DsoHttpPost("http://xxxx.com/uploadfile.asp"">http://xxxx.com/uploadfile.asp"); 中的uploadfile.asp如何写?放在自己的服务器中?为何有http://?
请各位大侠帮助。  回复  更多评论
  

# re: DSOFramer 控件修改成功 2010-06-10 09:47 原游
@初学者
楼上说的也是我的疑问。
ofram.DsoHttpInit();
//增加Post变量
ofram.DsoHttpAddPostString("RecordID","20060102200);
ofram.DsoHttpAddPostString("UserID","李局长");
//上传打开的文件
ofram.DsoHttpAddPostCurrFile("FileData", "文档名.doc");
//执行上传动作
ofram.DsoHttpPost("http://xxxx.com/uploadfile.asp"">http://xxxx.com/uploadfile.asp");
========================================
我打开一个服务器文件。这办得到。
也不必重命名。修改一下再存到服务器怎么弄?

再存到服务器应是点了'保存'菜单就作了。

感觉应是在保存触发事件上写以上语句。
那么不需要"文档名.doc"。
ofram.DsoHttpPost("http://xxxx.com/uploadfile.asp"">http://xxxx.com/uploadfile.asp"); 中的uploadfile.asp如何写?放在自己的服务器中?为何有http://?
请各位大侠帮助。  回复  更多评论
  

# re: DSOFramer 控件修改成功 2011-02-24 22:53 我的女人
在PB中不能插入些控件,为何?  回复  更多评论
  

# re: DSOFramer 控件修改成功[未登录] 2011-04-10 21:36 小陈
最近在做嵌入word的项目,刚开始研究,请朋友发一份最新的源代码过来,可否?谢谢啦。。邮箱 scstcxj@126.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2011-08-04 02:20 business loans
This is great that we can take the personal loans and it opens up new chances.   回复  更多评论
  

# re: DSOFramer 控件修改成功 2011-08-14 10:09 essays help
Are you acknowledged of who is very good in essays papers composing. If you don't get, then I will sat you that writing services can be qualified enough to provide you with high quality customized papers.   回复  更多评论
  

# re: DSOFramer 控件修改成功 2011-08-15 11:30 seo companies
My fellows always tell me that submission issues are great for optimization. The seo package service can be great for my site. I do really require experts for my traffic optimization!   回复  更多评论
  

# re: DSOFramer 控件修改成功 2011-09-02 13:02 thesis service
We should get the highest peak of our career and to do it we have to write the thesis paper of high quality. Thence, the best custom thesis service is able to solve our dissertation writing problems.   回复  更多评论
  

# re: DSOFramer 控件修改成功 2011-11-07 17:40 check for plagiarism
That is not good not to know if your paper is original. I'm generally concentrated on high results. Therefore, I utilize plagiarism detect to be assured that my stuff is the best.   回复  更多评论
  

# re: DSOFramer 控件修改成功 2011-11-13 22:51 jobs writing
That’s the best idea.Was that available to find great jobs writing? Suppose so, and everyone could find it rather helpful.  回复  更多评论
  

# re: DSOFramer 控件修改成功 2013-06-17 20:06 loan
Don't have enough money to buy a house? Do not worry, just because this is possible to get the home loans goodfinance-blog.com to resolve such kind of problems. Hence get a bank loan to buy all you want.   回复  更多评论
  

# re: DSOFramer 控件修改成功 2014-01-10 17:04 pafvell
楼主帮忙发份源码。pafvell@163.com
原来的链接都用不了。非常感谢。  回复  更多评论
  

# re: DSOFramer 控件修改成功 2014-01-15 10:29 qysong
你们支持autocad吗?楼主能给个源码吗?原来的链接真的不能用了  回复  更多评论
  

# re: DSOFramer 控件修改成功 2014-01-15 10:30 qysong
你们支持autocad吗?楼主能给个源码吗?原来的链接真的不能用了 谢谢!
78301893@qq.com  回复  更多评论
  

# re: DSOFramer 控件修改成功 2014-01-15 17:36 展望
document.all.MyOffice.HttpPost("http://localhost/SaveDc.aspx");
这句好像不能执行呀,没有执行到这个文件中。  回复  更多评论
  

# re: DSOFramer 控件修改成功 2014-01-15 17:38 展望
document.all.MyOffice.HttpPost("http://localhost/SaveDc.aspx");
这句好像不能执行呀,没有执行到这个文件中。
希望高手指点,我的  回复  更多评论
  

评论共3页: 1 2 3 

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理