社区
VBA
帖子详情
DSOFramer的菜单问题
DNCS
2004-12-02 04:06:35
我使用DSOFramer时 把word嵌入IE,想使word的菜单显示在出来 而不是点击控件的左上角 出现弹出菜单 请问怎么实现?
解决后 另有300分送上!
...全文
204
14
打赏
收藏
DSOFramer的菜单问题
我使用DSOFramer时 把word嵌入IE,想使word的菜单显示在出来 而不是点击控件的左上角 出现弹出菜单 请问怎么实现? 解决后 另有300分送上!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DNCS
2005-03-09
打赏
举报
回复
http://community.csdn.net/Expert/topic/3838/3838491.xml?temp=.1420557
DNCS
2005-03-09
打赏
举报
回复
谢谢 各位 由于本论坛只能有100分 我在开几个 happywqw(键盘跳蚤) 去领分
DNCS
2005-03-09
打赏
举报
回复
谢谢各位兄弟的帮忙 现在散分^_^
zhangzhijian
2005-03-07
打赏
举报
回复
mark
happywqw
2005-03-07
打赏
举报
回复
这个很好解决,你到微软网站下载最新的DSOFramerctl.ocx最新的1.2版本即可!
地址:http://support.microsoft.com/default.aspx?scid=kb;en-us;311765
它的例子程序就是这个样子的哈!:)
DNCS
2005-02-23
打赏
举报
回复
高手请回帖,解决后加500分
DNCS
2005-01-10
打赏
举报
回复
高手快回贴呀
jam021
2004-12-31
打赏
举报
回复
关注,帮顶
DNCS
2004-12-24
打赏
举报
回复
高手快回贴呀
DNCS
2004-12-23
打赏
举报
回复
怎么没有人回答呐
DNCS
2004-12-13
打赏
举报
回复
有什么属性设置呀 能否说一遍呀 我将不胜感激
vansoft
2004-12-09
打赏
举报
回复
有属性设置啊。
GGL123
2004-12-02
打赏
举报
回复
up
jilong4
2004-12-02
打赏
举报
回复
帮顶
支持Delphi7的
Dso
Frame
r示例.rar
支持Delphi7的
Dso
Frame
r(已编译) 支持数据库直接存储(非临时文件方式,直接内存实现) 避免在磁盘中产生临时文件和磁盘碎屑。
c#在窗体显示office的控件AxInterop.
DSO
Frame
r
微软提供的office办公软件第三方控件。包括
dso
frame
r.ocx和四个.dll文件。运行
dso
frame
r.ocx.exe,安装到 c:\windows\system32下面,相当于把
dso
frame
r.ocx文件拷贝到该文件下下面。然后将四个.dll文件拷贝到相同的路径下面。之后进行注册。步骤开始
菜单
输入cmd,右键选择以管理员身份运行,然后在窗口上右键粘贴regsvr32.exe c:\windows\system32\
dso
frame
r.ocx,回车即可显示注册成功。然后在c#中点击工具,选择工具箱中即可看到该控件,添加即可。适用于office2010和vs2010,以及office2007和vs2010.其它版本组合可用性未知。
推荐免费好用的Web在线Office(Word)编辑控件
版本修改记录: V2.2.0.2修改: 修改了HttpPost相对路径的一些
问题
。 V2.2.0.0增加: [id(0x00010041), helpstring("Get Rev Index")] HRESULT GetRevCount( [out,retval] long * pbool); [id(0x00010042), helpstring("Get Rev Index Info")] HRESULT GetRevInfo([in] long lIndex, [in] long lType, [out,retval] BSTR* pbool); [id(0x00010043), helpstring("Set Doc Prop")] HRESULT SetValue([in] BSTR strValue, [in] BSTR strName, [out,retval] long* pbool); [id(0x00010044), helpstring("Set Doc Variable")] HRESULT SetDocVariable([in] BSTR strVarName, [in] BSTR strValue,[in] long lOpt, [out,retval] long* pbool); [id(0x00010045), helpstring("Save page To Doc")] HRESULT SetPageAs([in] BSTR strLocalFile, [in] long lPageNum, [in] long lType,[out,retval] long* pbool); ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- Load
Dso
.js var s = "" s += "" s += "" document.write(s) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- 接口文档: /* 1.新建 */ //新建Word document.all.
Frame
rControl1.CreateNew("Word.Document"); //新建Excel document.all.
Frame
rControl1.CreateNew("Excel.Sheet"); /* 2.打开文件 */ //打开制定的本地文件 document.all.
Frame
rControl1.Open("C:\\TestBook.xls"); //制定用Word来打开c:\plain.txt文件 document.all.
Frame
rControl1.Open("C:\\Plain.txt",false, "Word.Document"); //打开服务器的文件 document.all.
Frame
rControl1.Open "https://secureserver/test/mytest.asp?id=123",true, "Excel.Sheet", "MyUserAccount", "MyPassword"); //打开服务器的文件 document.all.
Frame
rControl1.Open("http://localhost/1.doc", true); /* 3.保存文件 */ //到本地 document.all.
Frame
rControl1.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.
Frame
rControl1.HttpInit(); //增加Post变量 document.all.
Frame
rControl1.HttpAddPostString("RecordID","20060102200"); document.all.
Frame
rControl1.HttpAddPostString("UserID","李局长"); //上传打开的文件 document.all.
Frame
rControl1.HttpAddPostCurrFile("FileData", "文档名.doc"); //执行上传动作 document.all.
Frame
rControl1.HttpPost("http://xxxx.com/uploadfile.asp"); /* 4.修订留痕 */ //进入留痕状态 document.all.
Frame
rControl1.SetTrackRevisions(1); //进入非留痕状态 document.all.
Frame
rControl1.SetTrackRevisions(0); //接受当前修订 document.all.
Frame
rControl1.SetTrackRevisions(4); /* 5.设置当前用户 */ document.all.
Frame
rControl1.SetCurrUserName("张三"); /* 6.设置当前时间(笔迹留痕会显示("Like 2006:02:07 11:11:11") */ document.all.
Frame
rControl1.SetCurrTime("2006:02:07 11:11:11"); /* 7.设置和创建书签,此功能比较强大,设置书签数据、添加书签和添加红头文件就靠他了 SetFieldValue(BSTR strFieldName, BSTR strValue, BSTR strCmdOrSheetName) strFieldName:书签名 strValue:要设置的值 strCmdOrSheetName: 命令 ::ADDMARK:: 添加BookMark ::DELMARK:: 删除这个BookMark ::GETMARK:: 定位到这个BookMark ::FILE:: 插入的是文件 ::JPG:: 插入的是图片 一般来说:WORD中书签是做好的,可以通过此接口把外界数据设置进书签中去。 */ //在当前WORD位置插入标签,标签名为"book1",数值为"test" document.all.
Frame
rControl1.SetFieldValue("book1","test","::ADDMARK::"); //设置书签"Time",数值为"2006-03-16 22:22:22" document.all.
Frame
rControl1.SetFieldValue("Time","2006-03-16 22:22:22",""); //在书签位置"hongtou",插入红头文件"http://222.222.222.222/hongtou1.doc" 这样,红头就自动插进去了 document.all.
Frame
rControl1.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.
Frame
rControl1..SetMenuDisplay(1); //只有“打开”
菜单
可用 document.all.
Frame
rControl1.SetMenuDisplay(2); //只有“打开”和“新建”
菜单
可用 document.all.
Frame
rControl1.SetMenuDisplay(3); /* 9.保护文档和解保护文档 lProOrUn:1:保护文档;0:解除保护 lProType: wdNoProtection = -1, wdAllowOnlyRevisions = 0, wdAllowOnlyComments = 1, wdAllowOnlyFormFields = 2 strProPWD:密码 */ //完全保护文档,密码为"pwd" document.all.
Frame
rControl1.ProtectDoc(1,1,"pwd"); //解除文档保护 document.all.
Frame
rControl1.ProtectDoc(0,1,"pwd"); /* 10.显示或隐藏修订内容 ShowRevisions(long nNewValue) nNewValue = 0 则隐藏修订 = 1 则显示修订 */ //显示修订留痕 document.all.
Frame
rControl1.ShowRevisions(1); //隐藏修订留痕 document.all.
Frame
rControl1.ShowRevisions(0); /* 11.插入合并文件, strFieldPath 文件路径,可以是http,ftp的路径 pPos = 0 //当前鼠标位置 1;文件开头 2;文件末尾 pPos的第4位为1的时候,代表插入的是图片 InSertFile(BSTR strFieldPath, long lPos) */ //文件头部插入文件 document.all.
Frame
rControl1.InSertFile("http://XX.com/XX.doc",1); //文件尾部插入文件 document.all.
Frame
rControl1.InSertFile("http://XX.com/XX.doc",2); //当前光标位置插入文件 document.all.
Frame
rControl1.InSertFile("http://XX.com/XX.doc",0); //文件头部插入图片 document.all.
Frame
rControl1.InSertFile("http://XX.com/XX.jpg",9); //文件尾部插入图片 document.all.
Frame
rControl1.InSertFile("http://XX.com/XX.jpg",10); //当前光标位置插入图片 document.all.
Frame
rControl1.InSertFile("http://XX.com/XX.jpg",8); /* 0x31. 文档另存为 HRESULT SaveAs([in] VARIANT strFileName, [in] VARIANT dwFileFormat, [out,retval] long* pbool); 参数: strFileName:文件本地路径,如c:\\11.doc dwFileFormat: 文件格式 dwFileFormat的数值为: Excel: Type enum XlFileFormat { xlAddIn = 18, xlCSV = 6, xlCSVMac = 22, xlCSVMSDOS = 24, xlCSVWindows = 23, xlDBF2 = 7, xlDBF3 = 8, xlDBF4 = 11, xlDIF = 9, xlExcel2 = 16, xlExcel2FarEast = 27, xlExcel3 = 29, xlExcel4 = 33, xlExcel5 = 39, xlExcel7 = 39, xlExcel9795 = 43, xlExcel4Workbook = 35, xlIntlAddIn = 26, xlIntlMacro = 25, xlWorkbookNormal = -4143, xlSYLK = 2, xlTemplate = 17, xlCurrentPlatformText = -4158, xlTextMac = 19, xlTextMSDOS = 21, xlTextPrinter = 36, xlTextWindows = 20, xlWJ2WD1 = 14, xlWK1 = 5, xlWK1ALL = 31, xlWK1FMT = 30, xlWK3 = 15, xlWK4 = 38, xlWK3FM3 = 32, xlWKS = 4, xlWorks2FarEast = 28, xlWQ1 = 34, xlWJ3 = 40, xlWJ3FJ3 = 41, xlUnicodeText = 42, xlHtml = 44 }; Word: Type enum WdSaveFormat { wdFormatDocument = 0, wdFormatTemplate = 1, wdFormatText = 2, wdFormatTextLineBreaks = 3, wdFormatDOSText = 4, wdFormatDOSTextLineBreaks = 5, wdFormatRTF = 6, wdFormatUnicodeText = 7, wdFormatEncodedText = 7, wdFormatHTML = 8 }; PPT: enum PpSaveAsFileType { ppSaveAsPresentation = 1, ppSaveAsPowerPoint7 = 2, ppSaveAsPowerPoint4 = 3, ppSaveAsPowerPoint3 = 4, ppSaveAsTemplate = 5, ppSaveAsRTF = 6, ppSaveAsShow = 7, ppSaveAsAddIn = 8, ppSaveAsPowerPoint4FarEast = 10, ppSaveAsDefault = 11, ppSaveAsHTML = 12, ppSaveAsHTMLv3 = 13, ppSaveAsHTMLDual = 14, ppSaveAsMetaFile = 15, ppSaveAsGIF = 16, ppSaveAsJPG = 17, ppSaveAsPNG = 18, ppSaveAsBMP = 19 }; */ /* 0x32. 删除本地文件 HRESULT DeleteLocalFile([in] BSTR strFilePath); 参数: strFileName:文件本地路径,如c:\\11.doc */ /* 0x33.创建临时文件 HRESULT GetTempFilePath([out,retval] BSTR* strValue); 返回: 临时文件的路径地址。使用完后,用DeleteLocalFile 删除 */ /* 0x34.设置文档显示模式 HRESULT ShowView([in] long dwViewType, [out,retval] long * pbool); dwViewType的可取值为: enum WdViewType { wdNormalView = 1, wdOutlineView = 2, wdPrintView = 3, wdPrintPreview = 4, wdMasterView = 5, //这个是大纲 wdWebView = 6 }; */ //大纲模式 document.all.
Frame
rControl1.ShowView(5); /* 0x39:下载远程文件 HRESULT DownloadFile( [in] BSTR strRemoteFile, [in] BSTR strLocalFile, [out,retval] BSTR* strValue); 参数: strRemoteFile:远程路径地址,http or Ftp strLocalFile: 本地保存地址,if strLocalFile == NULL then Create Temp File and return TempFile's Path */ /* 0x40:增加Http上传时候的,附加其他文件 HRESULT HttpAddPostFile([in] BSTR strFileID, [in] BSTR strFileName, [out,retval] long* pbool); 参数: strFileID:文件的ID,供服务器端页面解析 strFileName: 本地文件地址 */ /* 0x41,0x42.获取详细的修订信息。 GetRevCount( [out,retval] long * pbool); GetRevInfo([in] long lIndex, [in] long lType, [out,retval] BSTR* pbool); 例子如下 */ var vCount; vCount = document.all.
Frame
rControl1.GetRevCount(); alert(vCount); var vOpt = 0; var vDate; for(var i=1; i<= vCount; i++){ vOpt = document.all.
Frame
rControl1.GetRevInfo(i,2); if("1" == vOpt){ vOpt = "插入"; }else if("2" == vOpt){ vOpt = "删除"; }else{ vOpt = "未知操作"; } vDate = new String(document.all.
Frame
rControl1.GetRevInfo(i,1)); vDate = parseFloat(vDate); alert(vDate); dateObj = new Date(vDate); alert(dateObj.getYear() + "年" + dateObj.getMonth() + 1 + "月" + dateObj.getDate() +"日" + dateObj.getHours() +"时" + dateObj.getMinutes() +"分" + dateObj.getSeconds() +"秒" ); alert("用户:"+document.all.
Frame
rControl1.GetRevInfo(i,0) + "\r\n操作:" + vOpt + "\r\n内容:" + document.all.
Frame
rControl1.GetRevInfo(i,3)); } /* 0x43.设置基本信息: HRESULT SetValue([in] BSTR strValue, [in] BSTR strName, [out,retval] long* pbool); 1.设置文件只读密码 SetValue("password","::DOCPROP:PassWord"); 2.设置文件修改密码 SetValue("password","::DOCPROP:WritePW"); 返回值: 0 正确 -1:不支持此命令,请确定您的第二个参数没有传错 -127:异常 */ //设置文件只读密码 document.all.
Frame
rControl1.SetValue("password","::DOCPROP:PassWord"); //设置文件修改密码 document.all.
Frame
rControl1.SetValue("password","::DOCPROP:WritePW"); /* 0x44.设置文档变量,这个很少能用到 HRESULT SetDocVariable([in] BSTR strVarName, [in] BSTR strValue,[in] long lOpt, [out,retval] long* pbool); strVarName: 变量名 strVlaue:变量值 lOpt: 操作类型, 按位 第一位为1: 表示update域关联的 第二位为1: 表示如果没有这个变量则添加 第三位为1: 未来支持 return: 0:OK -127:异常 */ /* 0x45: 分页保存 HRESULT SetPageAs([in] BSTR strLocalFile, [in] long lPageNum, [in] long lType,[out,retval] long* pbool); strLocalFile:本地路径 lPageNum:页数 */
DSO
Frame
r的使用
一、先注册一下
DSO
Frame
r.ocx 操作:将
DSO
Frame
r.ocx复制到C:/windows/system32目录下, 开始->运行->regsvr32
DSO
Frame
r.ocx , 系统会提示
DSO
Frame
r.ocx中的DllRegisterServer成功。 二、添加
DSO
Frame
r.ocx到你的项目中 操作:先说明一下
DSO
frame
r 无法正常加载的解决方案
本文转载于 石佳劼的博客,有
问题
请到原文咨询,原文连接。不了解
DSO
frame
r 的朋友,可以先参考文章
DSO
frame
r 的简单介绍和资源整理,
DSO
frame
r 的主要事件参考(一),
DSO
frame
r 的主要事件参考(二)。在使用
DSO
frame
r 时,经常会碰到各种奇奇怪怪的
问题
,最常见的就是控件不能正常加载。大家可以按下面方法进行排查,如果还是不能正常加载,那就只有重装office或
VBA
2,462
社区成员
10,807
社区内容
发帖
与我相关
我的任务
VBA
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
复制链接
扫一扫
分享
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章