●●●DSOFramer问题

zsgbox 2009-05-22 09:31:25
WinForm中嵌入了DSOFramer控件,想编辑Excel,我现在想通过代码设置并获取指定单元格的值,可我怎么都做不到,我想是应该通过axFramerControl1.ActiveDocument,获取对象去操作,可这个ActiveDocument到底应该转换成什么类型,我却总转不对,哪位达人,帮我一样,非常感谢。
...全文
672 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
ydp_00769 2011-08-01
  • 打赏
  • 举报
回复
//int iCount = this.axFramerControl1.GetRevCount();  //修改条数,比如删除一段话,vCount就是=1
//for (int i = 1; i <= iCount; i++)
//{
// //循环获取数据,i是表示第几条,2是表示做了什么操作 vOpt=1表示插入,=2表示删除
// //可以把下面的2改成1,就是获取是哪个用户做了修改,好像1是获取用户吧,哈哈,自己动手试下吧!
// string strOpt = this.axFramerControl1.GetRevInfo(i, 2);
// string strcontext = this.axFramerControl1.GetRevInfo(i, 3); //3是表示获取修改了什么信息,比如用户删除了ABC,这里context就会等于"ABC"

// ListViewItem lvi=new ListViewItem(new string[]{strOpt,strcontext});
// this.listView1.Items.Add(lvi);
//}


我是想读出word文件中的修订内容,但是却读不出来,非得要document来读吗?我也是这里卡着了。。。
葛子木 2011-07-06
  • 打赏
  • 举报
回复
我也一直纠结于此问题 我的问题就是保存不了模板上的word 希望高手帮帮我
simonezhlx 2009-06-16
  • 打赏
  • 举报
回复
楼主不在吗?
需要结合PIA Microsoft Excel 11.0 Object Library

添加相应引用后,将其转换成:Excel.Workbook
光宇广贞 2009-05-23
  • 打赏
  • 举报
回复
上外网也看到有类似的问题存在。
光宇广贞 2009-05-23
  • 打赏
  • 举报
回复
http://software.techrepublic.com.com/abstract.aspx?docid=790009

这个是Microsoft Developer Support Office Framer Control Sample

操作OFFICE的示例,这是能找到的最后的资源了。注册一下下载吧。
zsgbox 2009-05-23
  • 打赏
  • 举报
回复
郁闷,还是不行,用下面方式
var obj = axFramerControl1.ActiveDocument
var xls = obj.Application;

报错信息如下:
“object”不包含“Application”的定义,并且找不到可接受类型为“object”的第一个参数的扩展方法“Application”(是否缺少 using 指令或程序集引用?)
谁知道怎么操作啊。
zsgbox 2009-05-22
  • 打赏
  • 举报
回复
ActiveDocument没有Application属性,因为是object类型,Document 在EXCEL里又是什么对象?多谢兄弟,明天我再研究研究吧
光宇广贞 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zsgbox 的回复:]
var obj = axFramerControl1.ActiveDocument;
var xls = obj.Application;
第二句报错,应该转换成合适的对象吧,可我不知道该转换成什么.
[/Quote]

你直接用axFramerControl1.ActiveDocument.Application呢?

还有,ActiveDocument 是一个 Document 对像……
光宇广贞 2009-05-22
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/zh-cn/library/bb383973.aspx

看看这个C#下的VAR关键字的参考。

我不清楚你将怎么使用你的对像。但是若单就var来说的话,你将一种类型的值赋给var的话,那么到了该使用该对像的时候,你将该var变量传进去,只要类型匹配就可以,而这到底该是一种什么类型,你根本就不用关心。用var很适用于,比如一种方法返回了一个X类型的变量,而这个变量又将被其它方法调用,但你很难把握这个X是什么类型的情况,此时,你就给VAR,让这个VAR变量做为一个中间载体就可以了。
zsgbox 2009-05-22
  • 打赏
  • 举报
回复
var obj = axFramerControl1.ActiveDocument;
var xls = obj.Application;
第二句报错,应该转换成合适的对象吧,可我不知道该转换成什么.
zsgbox 2009-05-22
  • 打赏
  • 举报
回复
请问怎么用?
光宇广贞 2009-05-22
  • 打赏
  • 举报
回复
有了var,你根本就不用关心是什么类型的对像……
光宇广贞 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zsgbox 的回复:]
多谢楼上,那篇文章我看过,他是这么用的
var obj;
obj = new Object(oframe.ActiveDocument);
然后他就可以直接用这个对象,他是VB,而在C#里,oframe.ActiveDocument返回是object对象,我根本写不对应该转换成什么对象。
[/Quote]

C#里面也可以var……

所以……
zsgbox 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zsgbox 的回复:]
多谢楼上,那篇文章我看过,他是这么用的
var obj;
obj = new Object(oframe.ActiveDocument);
然后他就可以直接用这个对象,他是VB,而在C#里,oframe.ActiveDocument返回是object对象,我根本写不对应该转换成什么对象。
[/Quote]
刚回复了
bbb332 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hikaliv 的回复:]
http://leng.javaeye.com/blog/252300

看看这个……
[/Quote]
up
修改一下昵称 2009-05-22
  • 打赏
  • 举报
回复
路过帮顶....up
zsgbox 2009-05-22
  • 打赏
  • 举报
回复
多谢楼上,那篇文章我看过,他是这么用的
var obj;
obj = new Object(oframe.ActiveDocument);
然后他就可以直接用这个对象,他是VB,而在C#里,oframe.ActiveDocument返回是object对象,我根本写不对应该转换成什么对象。
光宇广贞 2009-05-22
  • 打赏
  • 举报
回复
http://leng.javaeye.com/blog/252300

看看这个……

110,565

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧