excel RTD函数实际例子及语法
发布时间:2023-08-14 09:02:30
一、RTD函数语法
RTD(ProgID,server,topic1,[topic2],...)
函数功能:全部显示全部隐藏从支持 COM 自动化 (COM 加载项:通过添加自定义命令和指定的功能来扩展 Microsoft Office 程序的功能的补充程序。COM 加载项可在一个或多个 Office 程序中运行。COM 加载项使用文件扩展名 .dll 或 .exe。)的程序中检索实时数据。
参数说明
ProgID 已安装在本地计算机上、经过注册的 COM 自动化加载宏 (加载项:为 Microsoft Office 提供自定义命令或自定义功能的补充程序。)的 ProgID 名称,该名称用引号引起来。
server 运行加载宏的服务器的名称。如果没有服务器,程序是在本地计算机上运行,那么该参数为空白。否则,用引号 ("") 将服务器的名称引起来。如果在 Visual Basic for Applications (VBA) (Visual Basic for Applications (VBA):Microsoft Visual Basic 的宏语言版本,用于编写基于 Microsoft Windows 的应用程序,内置于多个 Microsoft 程序中。) 中使用 RTD,则必须用双重引号将服务器名称引起来,或对其赋予 VBA NullString 属性,即使该服务器在本地计算机上运行。
topic1, topic2,... 为 1 到 253 个参数,这些参数放在一起代表一个唯一的实时数据。
必须在本地计算机上创建并注册 RTD COM 自动化加载宏。如果未安装实时数据服务器,则在试图使用 RTD 函数时将在单元格中出现一则错误消息。如果服务器继续更新结果,那么与其他函数不同,RTD 公式将在 Microsoft Excel 处于自动计算模式下进行更改。
二、RTD函数实际例子
=parseArrayData(RTD("ExcelRTD.RTDFunctions",,"AAA"))
=RTD("MyComAddIn.Progid",,"LOREM_IPSUM","Price")
在Excel 中使用RTD非常简单,Excel 提供了一个新的工作表函数 RTD,此函数允许通过调用组件对象模型 (COM) 自动化服务器来实现实时数据检索。RTD 工作表函数使用以下语法:
"=RTD(ProgID, Server, String 1, String 2, ... String n)"
第一个变量 ProgID 表示Real-Time Data 服务器(RTD Server)的编程标识符 (ProgID)。Server 变量指示运行RTD Server的计算机的名称;如果RTD Server在本地运行,则可以将此变量设置为空字符串或将其忽略。其他变量只表示发送到RTD Server的参数;这些参数的每个唯一组合都表示一个“主题”(topic),每个“主题”有一个关联的“主题 ID”(topic id)。这些参数区分大小写。例如,以下内容演示将生成三个不同主题ID的RTD Server调用:
=RTD("ExcelRTD.RTDFunctions",,"AAA", "10")
=RTD("ExcelRTD.RTDFunctions",,"AAA", "5")
=RTD("ExcelRTD.RTDFunctions",,"aaa", "5")
要使用 Excel 的 RTD 函数,必须注册一个实现 IRTDServer 接口的COM组件。实现这个接口的COM组件就是所谓的RTD Server。IRTDServer具有以下成员:
ServerStart(CallbackObject)
CallbackObject 是一个IRTDUpdateEvent类型的参数,它有一个UpdateNotify方法,用于通知Excel有更新的数据可用(push)。这样Excel就会通过调用RefreshData方法来刷新所有的主题(pull)。当 Excel 请求RTD Server的第一个 RTD 主题时调用ServerStart方法,该方法会在成功时返回 1,并在失败时返回负值或 0。这个方法在随后应用其他RTD函数时不会再次被调用。
ConnectData(TopicID, Strings, GetNewValues)
其中,TopcID 唯一标识这个函数在Excel中的一个应用,即使复制多份到不同的单元格,对于Excel来讲,也只是对应一个主题。这个 topicID 由Excel返回,我们需要将其记录下来,以便为其提供更新的数据。Strings 是一个System.Array,用于接收RTD函数传入的参数(String 1...String n),这是一个引用类型的参数。GetNewValues 用于确定是否总是获取最新数据,如果这个参数传入true,则每次保存Excel文档以后,再次重新打开时,看到的不一定是上次保存时的数据,而是最新的实时数据,这也是一个引用类型的参数。
每当一个新的主题(Topic)被应用到Excel,ConnectData都会被调用。在这里,需要保存传入的新的TopicID和查询参数以供之后更新数据使用。为此,需要定义好自己的数据结构。
DisconnectData(TopicID)
与ConnectData一样,TopcID 唯一标识这个函数在Excel中的一个应用。当我们从Excel中移除一个主题(删除所有采用相同参数的RTD函数)之后,DisconnectData将被调用,在这里,可以释放对这个主题的监控,并不再为其获取新数据。
Heartbeat
确定RTD Server是不是依然可用,0和负数代表不可用,1代表可用。Excel会调用此方法确定服务是否断连。
RefreshData(TopicCount)
TopicCount表示要更新的主题数量,这是一个引用类型的参数,用于返回给Excel。我们可以定义一个时钟,用于定时向数据源获取数据,这样,在时钟的Elapsed事件中,获取最新数据,并调用xlRTDUpdate成员的UpdateNotify方法以通知Excel,新的数据准备完毕。这样Excel就会调用RefreshData方法,来对工作簿中的数据进行更新。
ServerTerminate
当Excel不再需要从RTD Server获取实时数据时被调用。在这里,可以执行一些清理,例如清除缓存,关闭时钟等等。至此,一个RTD Server的生命周期就结束了。


猜你喜欢
- oppo刚出来的oppoa7x版本,你们知道吗?其中的相机设置在什么哪里呢?那我们就一起往下看看如何oppoa7x中找到相机设置的具体操作方
- hphmon03.exe是惠普打印机配置和诊断程序,在系统托盘驻留进程文件: hphmon03 or hphmon03.exe 进程名称:
- U盘的本质是便携临时存储,我们常用于存储数据文件、图片视频等等,那就有用户问U盘能一直插在电脑上吗?U盘能一直插在电脑上当硬盘吗?下面小编就
- 如果我们电脑的操作系统安装的是win101909版本的话,对于在使用时出现的蓝屏代码WHEA_UNCORRECTABLE_ERROR,小编觉
- 我们可以在wps文字里面通过快捷键实现段落格式的复制,那么具体要怎么设置复制呢?下面就让小编告诉你wps文字复制段落的格式 的方法,希望小编
- 很多时候,我们常常会使用两台或者两台以上的电脑来共享文件,这样大大的方便了我们办公、传输文件等。那么,Win7两台电脑怎么共享文件呢?接下来
- 上周四,苹果向开发者发布了iOS 15 beta 2更新,想必有很多 iphone 用户应该更新到了iOS 15 beta 2。我们知道,i
- 如果你有一台支持 Apple Pencil 的 iPad,并且你的 Mac 和 iPad 满足以下版本,那你就可以在 macOS 10.15
- 近期消息,微软在win10 1903的版本更新中,附带了一个叫做“预留存储”的功能等,可以帮助用户们将一部分的系统存储保留下来,使得系统运行
- 在mac电脑上安装chrome浏览器后,是不是先添加很多书签,如何管理这些书签?有些朋友会有这样的烦恼,下面我们来看一下如何管理chrome
- 在系统的操作过程中,很多用户都有遇到这样的情况,系统很多程序软件需要以管理员的方式打开才能使用,为了让
- 在excel当中给出样本数据,做出直方图进行统计分析,这是工作人士基本都会遇到的一个问题,直方图该如何制作出来呢?下面就跟小编一起看看吧。e
- xp打印机共享设置方法,电脑打印机共享的好处我想就不用小编在这里多说了吧,他给我们带来了很多的方便及实用。那么到底要如何设置xp打印机共享呢
- 如何把wps文件转换成word?有时候我们使用wps进行编辑文档,但由于一些工作需要,我们要把wps格式转换成word,那么该如何操作呢?下
- 魔兽大脚插件中有着伤害统计等插件,能够很好的去记录每个人所造成的伤害等,但是最近有用户反映说这个伤害统计消失不见了,这个问题需要怎么解决呢,
- 用ADSL拨号上网的朋友,每次都要去点击连接图标才能上网,多麻烦啊。让ADSL开机就自动登录吧,方便多了!本文分为以下几个部分:最简单方法、
- 1、网络接口层在TCP/IP协议中,网络接口层位于第四层。由于网络接口层兼并了物理层和数据链路层所以,网络接口层既是传输数据的物理媒介,也可
- Excel中宏默认被禁用,需要我们自行启用宏,具体该如何解决宏被禁用的问题呢?下面是小编带来的关于excel2003宏被禁用的解决教程,希望
- 在制作wps幻灯片的时候,要怎么去插入一个柱状图呢?下面小编就为你介绍wps演示怎么插入柱状图的方法啦!wps演示插入柱状图的方法:①启动W
- Win10的屏幕键盘停靠时会遮挡任务栏,下文小编就为大家带来解决方法,一起看看吧Win10的屏幕键盘停靠时会遮挡任务栏,这让很多用户都感到不