问题标签 [rtd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何使用 pyrtd/pythoncom 解决 `pywintypes.com_error`?
我正在尝试使用 Python 的pyrtd模块来获取可以通过 RTD 在 Excel 中获取的信息。
但是,当我尝试运行示例 python 脚本时,我收到以下错误:
我尝试了其他几个 RTD 功能,有时(当我Dllname.function_name
用作 的参数时RTDClient()
)我得到:
所有这些 RTD 函数都在 Excel 2010 中运行良好。
我还没有找到 Python 的解决方案,但我已经了解了一些适用于 C# 的技巧:
- 用于 Excel 实时数据 (RTD) 服务器的 AC# 客户端
- C# 中的 Excel RTD 客户端
- http://bbs.csdn.net/topics/320252117
- Excel RTD 服务器:C# 中的多个主题
基本思想是:
从注册表中获取 rtd 服务器的类类型
ProgID
(例如,如果您已经使用regsvr32注册了 dll ,则RTDTime.RTD
可以在 中找到它们)。HKEY_LOCAL_MACHINE\SOFTWARE\Classes\RTDTime.RTD
在 C# 中,函数是
Type.GetTypeFromProgID()
. 我相信 Python 模块中有相同的功能win32com
。将服务器类强制转换为
IRtdServer
(Microsoft.Office.Interop.Excel.IRtdServer
)。然后可以
IRtdServer.ConnectData(topicID, topics, newData)
用来获取数据:topicID
似乎是随机的int
;topics
是你在Excel中使用的参数,它是一个数组;newData
是 abool
,True
如果您请求新数据而不是缓存数据,请将其设置为。
但是,我相信如果想要自动更新数据,则需要一个回调事件。
根据链接的博客文章,事件类也可以通过progID
。但我在 reg 表中没有找到任何内容。
在 C# 中,我认为可以创建一个IRTDUpdateEvent
. 但我不知道如何用 Python 处理它。
有人可以帮我解决这些错误吗?
c# - Excel RTD 服务器出现意外的 ServerTerminate
当我的 RTD 服务器启动时,它会通过 ServerStart 和 ConnectData 调用,然后就在数据开始到达时,它会调用 ServerTerminate 来关闭一切。我添加了一个堆栈跟踪转储,但这并没有告诉我任何有用的信息:
什么可能导致对 ServerTerminate 的调用?
c# - R6025 纯虚函数调用
我收到随机 R6025 - 将这个自定义 c# RTD 客户端用于 ThinkOrSwim 时随机出现纯虚函数调用错误。
我怎样才能a)调试它以找出问题所在,b)修复它?
当windows弹出消息框说有错误时,代码会一直在后台运行,不会抛出异常。但是当我在消息框上单击“确定”时,Windows 会关闭应用程序。
这是请求 RTD 数据的代码片段:
这是 RTD 客户端实现:
delphi - Delphi 上的 RTD 客户端
如何在 Delphi 上创建 RTD 客户端?我不知道如何开始,我需要像 Excel 电子表格一样获取值,例如
excel - LibreOffice 的 RTD 等效项
是否有与 RTD 做同样事情的 LibreOfficeCalc 函数?
我找不到一个。
干杯
vba - VBA中的Excel RTD
我正在尝试在 VBA中获取RTD输出。问题是数据有时需要几秒钟才能返回,所以当我运行一个循环的一半时间它错误地返回 0。显然 RTD 正在异步运行。如何将其设置为同步运行以等待正确的输出?
如果我把公式放在一个单元格中,它通常会立即返回,有时需要一秒钟。如果我尝试在 VBA 中循环,它会过快地转到下一个值并返回误报,因为它没有等待数据返回。我已经尝试过 RTD.RefreshData,但它的加载速度不足以跟上我的循环。(我的目标是使用 RTD 遍历数千个字段,这就是我需要这样做的原因)
excel - 如何创建 RTD 函数输出的历史日志
我想存储不断变化的 RTD 函数的值。假设我设置单元格A1 = SomeRTDFunction(
)。我应该如何处理这个?
我想到的一种可能性是创建一个Sub
在某个计时器上连续运行的值,而不是从该单元格复制值并将其连续放入另一个单元格。
有一个更好的方法吗?
c# - C# 中的 RTD 服务器 - 从哪里开始
我在 Excel 中有 RTD 服务器,它从 thinkorswim 应用程序中提取数据。我想将数据提取到 C# 中。我的编程经验有限,因此阅读了多篇关于用 C# 实现 RTD 服务器的教程,但其中大部分对我来说都是高级的。所以我想知道是否有人可以推荐一些介绍性阅读材料。这是我正在尝试实现的示例代码:
http://awkwardcoder.com/2014/01/24/excel-rtd-client-in-c/
我将它复制并粘贴到 Visual Studio (VS) 中并调用类 RtdClient.cs。VS 立即突出显示以下行:
并写了找不到类型和命名空间。
我错过了任何参考吗?我添加了对 COM 类型 Tos.RTD 的引用,但没有帮助。
同样在注册表中,我找到了带有 Tos.RTD 和 CLSID 的文件夹。我假设 CSLID 指向 COM 类型?
在 VS Tos.RTD 中有几个接口。在上面的链接中,我没有看到这些接口的方法的实现。怎么了?
我还通过反射阅读了 RTD,我知道第二个链接依赖于反射。这两种方法的优点/缺点是什么?哪一个在概念上更有意义?
如您所见,我迷路了,因此将不胜感激任何建议。
excel - 在 Excel 中暂停 RTD 服务器并保存工作表
我有通过以下公式从 RTD 服务器获取数据的工作表:
我想每隔 1 分钟左右保存一次带有上述公式的工作表。挑战在于暂停 VBA 代码并确保在我们保存之前,单元格中的值已更新。我已经尝试了以下代码。
代码不起作用,仅仅是因为 DoEvents 一直等到 RTD 完成更新,而这永远不会。我还看到了显式暂停与 DB 的连接的示例,但我不知道如何调整它的 RTD 服务器案例。我试图从 C# 运行 RTD 服务器,但失败得很惨。C# 中的 RTD 用于傻瓜有 什么建议吗?
excel - Excel VBA 中的 RTD(需要从 rtd 调用数据)
我正在寻找需要从 RTD 服务器调用数据的相同答案
当我从 Excel 中提取数据时
它工作正常并给出一个数字。