Questions tagged «office-interop»

15
在.NET中使用Microsoft.Office.Interop.Excel需要什么参考?
我对使用C#操纵/自动化Excel文件感兴趣。 浏览完网络后,我发现了VSTO,但看来您不能在Visual Studio Express Edition中使用它,所以我不能使用它。 几分钟前,我注意到该站点中的一个问题在其代码中使用了该命名空间: Microsoft.Office.Interop.Excel 所以我想知道是否我需要使用的只是添加必要的参考,如果需要添加哪个参考? 更新 我按照建议的答案安装了“主互操作程序集”,但由于某些原因,它们仍然在“ .NET”下的“添加引用”对话框中丢失,但它们存在于GAC中。 因此,我只是使用“浏览”添加了引用,该引用位于Microsoft.Office.Interop.Excel.dllGAC文件夹中。 但是在此站点上寻找有关添加GAC参考的类似问题,似乎不建议这样做。

3
搜寻Excel自订功能工具提示
这个问题以前曾被问 过,但是每次接受的答案都只是一个辞职,使用Application.MacroOptions(VBA6)(VBA7)提供功能描述,但是该信息实际上并没有作为工具提示出现,因此不能解决我的问题。 目标 我们所有人都希望能够通过任何方式(VBA,VSTO或COM加载项)定义自定义功能,并为用户提供功能及其参数的弹出式/工具提示说明的好处,例如对于每个内置Excel函数,无论是嵌入式还是在编辑栏中都会出现: 对此需求的广泛接受的答案是自定义功能是不可能的,但是我想挑战这一信念。 问题 当前,我所见过的最好的人是定义函数(通常使用上面的MacroOptions调用),以便在打开函数对话框(在公式栏中的fx按钮)时,它们的功能和参数说明如下所示: 如您所见,这是一个具有许多参数的复杂函数。如果用户不了解此“函数参数”对话框以及如何调出对话框,而是仅熟悉Excel的标准工具提示,则他们只会看到公式名称,而没有其他帮助: 他们没有机会正确地提供所需的参数。(不阅读文档,当然,没有用户会这样做。) 现在,高级用户可能知道通过键入Ctrl+ Shift+ A,他们将被授予自动完成的功能参数列表,如下所示: 但是,当然,我们有与上述相同的问题,那就是标准excel用户将只习惯于第一张图片的默认行为,并且可能永远不会学习该功能。 到这一点应该很清楚为什么还不够,我们希望每个内置函数都有什么-内联工具提示,告诉用户如何使用该函数。 戏弄 起初,我可能已经确信,除了本机Excel应用程序功能之外,这根本是不可能的。加载项和VBA是可扩展性功能,此工具提示可能根本无法扩展。但是该理论受到Analysis Toolpak加载项的存在的挑战。当然,它是Microsoft内置的,但是ANALYS32.xll是一个独立的XLL加载项,就像可以在VB,C,C ++和C#中生成的加载项一样。当然,当将此XLL加载到应用程序中时,它提供的功能具有与本机excel函数相同的工具提示: 当然,如果此信息以某种方式编码在此XLL文件中并传递给Excel,是否可以通过我们自己的加载项复制它?我现在要开始对反编译进行一些自我介绍,并看看我是否可以对分析工具库中发生的一切进行逆向工程。 您将如何提供帮助 我几乎可以肯定,我已经研究了所有有关此问题的公开信息。如果有人知道我不知道的事情可能会有所帮助,请随意输入。我对反向工程编译的dll / xlls非常不熟悉,因此,如果有人想弹出打开他们的Analysis32.xll和弄清楚它的自定义函数定义是怎么回事,我不得不承担。否则,我会一直自己研究这个问题,直到碰到所有死胡同,并汇报发现的问题。

8
从Excel工作表读取Datetime值
当我试图从Excel工作表中读取datetime类型值时,它返回一个double值。例如,如果要读取这样的值'2007-02-19 14:11:45.730',我将获得double类型值。此外,我正在使用时间跨度转换此double值,但未成功完成因为我现在只获得此值,所以'2007-02-19 12:00:00 AM' 我想要与第一个完全相同的datetime值。我的代码就像:- TimeSpan datefromexcel = new TimeSpan(Convert.ToInt32((range.Cells[rCnt, cCnt] as Excel.Range).Value2), 0, 0, 0); DateTime inputdate = new DateTime(1900, 1, 1).Add(datefromexcel); arrrow2[cCnt - 1] = inputdate.ToString(); 请帮忙!!!谢谢。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.