这种隐藏了的对象怎么调用呢?http://msdn.microsoft.com/zh-tw/library/microsoft.office.interop.excel.arcs(v=office.11).aspx
解决方案 »
- 请高人解答,用OleDbCommand怎么像SqlCommand一样把SQl语句和连接字符串一起带下去啊?
- 关于GridView的数据绑定
- ASP.NET怎么做静态页
- 菜鸟问题:sqldatareader 没有 HasRows 属性(for windows mobile)
- 新手问一个关于父类和子类的问题
- 字符串赋值
- 问个简单的问题?
- Win8 APP C# 有没有什么比较好的方法将canvas上画的图形保存为图片?谢谢了
- 请问在.NET的WEB应用程序里怎么使用弹出窗口呀?
- 顶尖高手或者用过Spreadsheet的高手,以及熟悉Spreadsheet的菜鸟都请入
- Excel导入SQLServer连接显示Microsoft.Jet.OLEDB.4.0' provider is not registered
- 求正则表达式
本人前些日子正好接触了一下Office PIA编程.说实话这东西根本算不上什么有难度的东西,还是挺简单的,但它也算不上多么好的解决方案,有其他的更好的方案.要不是我们项目里面的领导的意见,我才懒得用Office PIA呢。写了若干经验总结的小文,感兴趣的话请您移步到鄙人的博客:http://blog.csdn.net/xinyaping/article/category/1072388Notes: 并非为了给我自己的博客打广告。如果您觉得有广告之嫌,请不要访问就是了。
你的问题可能问得不太好你所谓的“隐藏了的对象”是什么呢?是你在编程中找不到某个类的定义,或者不知道需要添加哪个reference?请说得更详细一点,谢谢。
我使用vb.net总是说我没引用接口。
搜索WORKSHEET,查看里面对象成员。里面有一些成员属于。”基础结构“
就是这种对象不会用,请高手解决。
而Microsoft.Office.Interop.Excel.dll在哪里呢?当你安装了Office PIA (Office Primary Interop Assembly)之后,就有了。正如Office有不同的版本,Office 2010、Office 2007、Office 2003,Office PIA也有不同的版本。Office PIA的安装,以及不同版本的Office PIA里面都有些什么东西,在MSDN的这个文档里面叙述得非常清楚:http://msdn.microsoft.com/en-us/library/15s06t57.aspx
(你自己的机器上,目录可能和我的稍有区别,跟你的安装目录、VS的版本有关。相信你很容易找到。)如果遇到Office PIA的DLL的部署问题请继续问。假如没遇到这方面问题我就不啰嗦了。
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml.Linq;
using Microsoft.Office.Tools.Excel;
using Microsoft.VisualStudio.Tools.Applications.Runtime;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
都有啊。MSDN上说Arcs是基础结构。
但是无论怎么引用,都出不来这个。后来我看到VB,才知道它需要引用这个接口,可是引用了,还是说找不到接口对象。
你可以试试。
Assembly: Microsoft.Office.Interop.Excel (in microsoft.office.interop.excel.dll)
我刚才自己也试了一下。其实你在using里面列的那么多namespace里面,和Arcs有关的,只有这一个:
using Excel = Microsoft.Office.Interop.Excel;我也同样给Microsoft.Office.Interop.Excel起了个别名Excel,和你一样。所以,我在代码中是这样引用这个类的:Excel.Arcs我引用的DLL是来自Office 2003 PIA里面的Microsoft.Office.Interop.Excel.dll无图无真相。请看我的截图:我的Visual Studio显然是识别出来Arcs这个interface了:
这就属于另外一个领域的问题了,跟Office PIA没有必然关系了。如果是原生的.Net的定义,当然不会遇到这问题。
但是因为是Interop的DLL里面定义的interface,所以情况另当别论了。这个我们只能去适应,并且多查MSDN,没有别的好办法。
arc = this.Worksheets[1].Arc;
这样不行啊。
arc = this.Worksheets[1].Arcs;
Globals.Sheet1.Range["a1"].Value = arc.Text;获取不了类的对象。
This interface supports the .NET Framework infrastructure and is not intended to be used directly from your code. 请翻译一下这句话什么意思。能直接告诉我你想要实现什么功能,好吗?
我并不是想用它,因为从来没用过这个对象属性,想好奇试试。
这句话的意思是:此 API 支持 Visual Studio Tools for Office 基础结构,不适合在代码中直接使用。