Tag: rtd

用Java而不是Excel通信到RTD服务器

我有一个RTD插件,提供一个Excel工作表的价格实时数据。 但是,我想避免Excel链接,我想用Java程序直接与RTD服务器通信,以便我可以检索数据并将其发送到数据库。 我已经看到在C#中执行此操作的示例,但尚未在Java中执行此操作。 有没有人有一个线索如何设置?

在Windows 10上使用Excel 2016的RTD不会刷新

我试图在Windows 10上使用Excel 2016的RTD,并发现在VBA编辑器中没有使用“Application.RTD.RefreshData”强制更新的情况下,它不刷新值。 我已经尝试了几个RTD服务器,并且这个问题通常只出现在Excel 2016和Windows 10的组合中。 Windows 7和Excel 2016按预期工作。 问题只在于Windows 10.使用Excel 2013和Windows 10是可以的。 Excel 2016包含所有最新的更新,因此与2015年底发生的服务器必须指定的问题无关。 这个bug随后被微软修复。 举一个简单的例子,像http://blog.learningtree.com/excel-creating-rtd-server-c/中描述的那样使用RTD服务器,它将在首次input公式时在Excel单元格中给出一个值,但将不自动“刷新”(刷新)该值。 如果使用“Application.RTD.RefreshData”,则值更新。 debuggingRTD服务器,看起来Excel 2016并不像在其他操作系统或Excel版本中那样调用RefreshData()。 我已经在两台机器上试了这个,每次都可以复制它。 不禁感觉这是在Windows 10上运行的Excel 2016中的错误?

无法在Visual Studio 2013中debuggingC#RTD Server项目

作为尝试找出在我的机器上使用(以前)工作的.NET COM项目和Excel 2013的各种问题的一部分,我在Visual Studio 2013中创build了一个简单的testingC#RTDServer类。创buildtestingRTD服务器项目帮助我实现我的Excel 2013是一个64位版本,我需要将目标平台设置为x64,以便任何.NET COM组件都能够使用此版本的Excel。 这个testingRTD组件工作正常(只要它被编译为x64),但我不能debugging到使用Visual Studio的代码。 以前用于旧项目的工作是将启动应用程序设置为Excel.exe,然后我总是可以在ServerStart(IRTDUpdateEvent CallbackObject)方法中find一个中断点。 但是,当我用VS 2013项目尝试这个时,它从来没有达到中断点。 如果我在运行时设置了新的中断点,则会看到以下消息: 断点不会被打中。 没有符号已经加载这个文件。 我已经search了很多的解决scheme,但没有发现任何工作。

Excel RTD COM服务器 – 无法将UpdateEvent(类)转换为IRTDUpdateEvent(接口)

此问题与Kenny Kerr在“Excel RTD服务器:C#接口”中的博客文章相关,可在此处find该博客文章,该文章允许您构buildExcel RTD服务器,而不包含对任何特定Exceltypes库的引用; 不得不包括一个引用,使您的RTD服务器Excel版本特定(转发兼容,但不是向后兼容,我相信)。 对Exceltypes库不具有任何依赖性可简化RTD到具有不同版本的Excel(XP,2003,2007和2010)的计算机的部署。 现在,没有RTD引用特定的Exceltypes库来获取接口IRtdServer和IRTDUpdateEvent是非常好的。 但是我有一个时间使得Kenny的build议工作的魔鬼。 这是我所做的: 1) Added IRtdServer.cs and IRTDUpdateEvent.cs to my RTD project and put the interface definitions from your blog into those files (not changing the GUIDs). 2) Removed any reference to an Excel type library. 3) Build and regasm OK. 我在VBA和VBScript中有很小的testing工具,通过模拟Excel对RTD的调用来testing我的MyRTD.dll RTD服务器。 以下是相关的代码片段: 第一个VBA: Const RTDProgID As String […]

从Excel中调用RTD服务器时出现exception

我使用Visual Studio 2010编写了一个VSTO Excel插件,在设法解决了微软投入正义开发者的大部分障碍后,我终于不得不承认失败。 我的项目包含一个带有一些控件的function区,一个自定义的任务窗格,允许用户通过一个REST风格的界面和一个RTD服务器来search数据库,这个服务器可以让他们把这些数据放在工作表中。 到目前为止,好吧,痛苦的,我猜:经过与Interop,ComVisibility和AppDomains的很多争斗(这是一个好主意!),我目前的状态如下。 在工作表中,我像这样调用RTD的封装函数(剪切): Public Function call(value as String) Dim addin as Office.ComAddIn Set addin = Application.ComAddIns("MyAddin") addin.Object.RTD(value) End Function 这是插件类的(部分): namespace Some { [Guid("…")] [ComVisibleAttribute(true)] [ClassInterface(ClassInterfaceType.AutoDual)] public class MyAddin { [snip] public String RTD(String value) { String returner = null; try { returner = Globals.ThisAddin.Application.WorksheetFunction.RTD(SERVERID, "", value); } catch(COMException ce) { […]

.NET / COMexception与IRTDUpdateEvent

我们build立了一个已被广泛使用多年的RTD服务器组件。 (它是使用VS 2008,.NET 3.5 Target Runtime构build的。)今天,用户报告了以下exception: System.InvalidCastException:无法将types为“System .__ ComObject”的COM对象转换为接口types“Microsoft.Office.Interop.Excel.IRTDUpdateEvent”。 此操作失败,因为IID为“{A43788C1-D91B-11D3-8F39-00C04F3651B8}”的接口的COM组件上的QueryInterface调用由于以下错误而失败:没有此类接口支持(exception来自HRESULT:0x80004002(E_NOINTERFACE)) 。 在Microsoft.Office.Interop.Excel.IRTDUpdateEvent.UpdateNotify()在EZomsRTDServer.RTDServer.NotifyExcel() 他昨天跑得很好。 这个问题似乎是由于他安装了一个新的应用程序,导致他安装了.NET 4更新。 (他已经安装了.NET 4,所以不知道此更新是什么。)用户通过回滚到昨天的还原点(仍然运行.NET 4)来解决问题。 但是我们需要了解在安装过程中会发生什么情况,导致COM兼容性问题。 (他没有碰到Excel或我们的RTD应用程序)。 是否有可能其中一个安装使用IRTDUpdateEvent Guid的其他COM类?

RTD相当于LibreOffice

是否有一个LibreOfficeCalc函数与RTD做同样的事情? 我找不到一个。 干杯

VBA中的Excel RTD

我试图抓住VBA的RTD输出。 问题是有时候数据需要花费几秒钟的时间才会回来,所以当我运行一个循环的时候,它错误地返回0.显然,RTD是asynchronous运行的。 我如何设置它同步运行,等待正确的输出? 如果我把这个公式放在一个单元格中,它通常会立即返回,有时需要一秒钟。 如果我尝试在VBA中循环,它会过快地转到下一个值,并返回误报,因为它不会等待数据返回。 我已经尝试了RTD.RefreshData,并且加载速度不够快,难以跟上我的循环。 (我的目标是使用RTD循环访问数千个字段,这就是为什么我需要这样做)

如何在Excel启动时汇集所有RTD调用?

我有一个RTD服务器,从实时来源获取值。 问题是,用户有相当大的Excel表格接近20,000 RTD公式。 所以当用户打开工作表时,所有的RTD公式被触发,导致发送20,000个查询到服务器。 这个工作现在,但服务器可以执行得更好,如果我可以分组查询,并将其发送到服务器。 我的想法是保持一个标志。 当计算开始时,标志将被设置为假,当计算结束时,我可以重置它。 当RTD公式被调用时,如果标志未被设置,我不会将查询发送到RTD服务器,而是将其集中。 当标志设置为true时,我可以合并查询并将其发送到服务器 我不知道如何获取通知,因为当Excel启动和停止计算。 请帮忙。 另外如果你知道解决这个问题的其他方法,那就太好了。 我正在使用Excel 2007,C#3.5 请帮忙。 非常感谢你。 Rashmi 谢谢,

“Microsoft Office Excel正在等待其他应用程序完成OLE操作”是什么意思?

我有一个工作RTD Excel自动化插件类似于这里描述的。 间歇性地尝试加载包含此公式的工作表时,出现以下错误: Microsoft Office Excel正在等待另一个应用程序来完成一个OLE操作。 我已经选中并取消选中“忽略使用dynamic数据交换(DDE)”的其他应用程序(根据一些论坛讨论(我无法再find))。 两者都行不通。 谷歌产生这个错误,但没有解决scheme很多点击。 这里有一个古老的知识基础文章,但也没有解决。 什么是造成这个错误? 有什么我可以做,以避免它? 谢谢!