电脑教程
位置:首页>> 电脑教程>> office教程>> excel RTD函数实际例子及语法

excel RTD函数实际例子及语法

  发布时间:2023-08-14 09:02:30 

标签:excel,RTD函数实际例子及语法

一、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的生命周期就结束了。

0
投稿

猜你喜欢

  • 有时候我们在网络上下载过来的文档,烙上了水印,这时我们第一时间就是把水印去掉,但这水印又不是图片上,该怎么去掉呢?文档去水印具体步骤:打开带
  • 迅捷PDF编辑器,是一款专业的PDF编辑工具,软件本身集成了大量PDF文本编辑功能,可对PDF文件内容进行添加、修改、绘图标注等操作,彻底解
  • 使用“页面设置”对话框可以更改文档中的边距,更改纸张尺寸以及更改文档的布局。调用页面设置对话框后,您会看到三个选项卡:边距,纸张和布局。在这
  • 在我们使用word的时候经常会往里面插入一些图片,在word中,我们还可以将图片的背景颜色更改为透明色,对于老手就不用功多说了,但是对于大多
  • word怎么设计条形码?word中想要设计一款条形码,该怎么设计呢?下面我们就来看看word设计条形码的教程步骤,很简单,需要使用word制
  • 昨天用Word打开了一个比较长的文档,当时电脑就卡死了,启动了任务管理器,发现内存使用满了,CPU使用率,也94%,这种情况,电脑不卡死倒是
  • 下面小编为大家介绍用记事本创建一个word文档方法,相信还能多朋友并不是很清楚,其实方法很简单的,下面小编就为大家详细介绍一下,一起来看看吧
  • 大家在使用Office2013写Word文档的时候,想给Word文档里的文字插入图片背景,但是很多人都不知道应该怎么操作,只要在Office
  • 方法一:1、首先,是一个word表格,里面的文字在表格内显示不全。2、选中需要调整的表格内容,然后选择工具栏中的“段落”工具。3、接下来在弹
  • 在使用VMware软件创建完Win10虚拟机后,小编再次打开却找不到已创建的Win10虚拟机了。那么,在VMware软件中该怎么打开已经创建
  • 打开word,如果插入的表格比较长跨页了,为了方便查看和美观,我们就需要设置让表头在每页都自动出现1.选中表头,右键选择“表格属性”之后,弹
  • 我们经常会碰到大型文档,如毕业论文、电子书等。阅读浏览这些文档,我们一般都要从目录上总体把握文档的结构。但是漂亮的目录怎么生成呢?今天,小编
  • 1、点击菜单栏上的“审阅”可看到“中文简繁转换”工具。如图所示!    2、框选要转换的内容,点击“中文简繁转换”选择“
  • 相信小伙伴们都在Word文档中看到过超链接,我们点击之后,就可以轻松访问想要的网页了。在Word文档中插入超链接,可以在保证文档简洁的情况下
  • 在word2013中求平均数的方法:将光标移动到放置结果的单元格。在word2013中求平均值的方法图1单击“布局”选项卡中的“数据”组中的
  • 有些朋友在针对windows10的功能更新,版本20h2出现无法安装Windows的情况,提示因为这台电脑的磁盘布局不受UEFI固件支持,这
  • 在 iOS 13 中,当我们想要放大照片时,可以用捏合手势放大照片以近距离查看照片细节,而根据外媒的消息,在 iOS 14 中用户的可放大倍
  • Word2016文档多页显示该怎么开启和取消?word文档很多的时候我们可以设置多页显示,不需要的时候在设置取消,具体该怎么设置呢?下面我们
  • 1.打开Excel表格,点击工具栏左上角的“Office按钮”,接着进入“Excel选项”。    2.在Excel选项
  • word2003和2007公式编辑器在哪?怎么编辑公式?很多朋友都不是很清楚,所以下面小编就为大家介绍一下,来看看吧word公式编辑器在哪,
手机版 电脑教程 asp之家 www.aspxhome.com