亚洲天堂中文字幕一区二区|亚洲精品无播放器在线播放网站|亚洲精品熟女国产国产老熟女|亚洲欧美在线人成最新按摩

        
        
      • <form id="etzky"></form>
          <td id="etzky"><tr id="etzky"></tr></td>

          excel RTD函數(shù)實(shí)際例子及語(yǔ)法

          時(shí)間:2022-10-05 14:01:25 網(wǎng)絡(luò)知識(shí) 我要投稿
          • 相關(guān)推薦

          關(guān)于excel RTD函數(shù)實(shí)際例子及語(yǔ)法

            一、RTD函數(shù)語(yǔ)法

            RTD(ProgID,server,topic1,[topic2],...)

            函數(shù)功能:全部顯示全部隱藏從支持 COM 自動(dòng)化 (COM 加載項(xiàng):通過(guò)添加自定義命令和指定的功能來(lái)擴(kuò)展 Microsoft Office 程序的功能的補(bǔ)充程序。COM 加載項(xiàng)可在一個(gè)或多個(gè) Office 程序中運(yùn)行。COM 加載項(xiàng)使用文件擴(kuò)展名 .dll 或 .exe。)的程序中檢索實(shí)時(shí)數(shù)據(jù)。

            參數(shù)說(shuō)明

            ProgID 已安裝在本地計(jì)算機(jī)上、經(jīng)過(guò)注冊(cè)的 COM 自動(dòng)化加載宏 (加載項(xiàng):為 Microsoft Office 提供自定義命令或自定義功能的補(bǔ)充程序。)的 ProgID 名稱(chēng),該名稱(chēng)用引號(hào)引起來(lái)。

            server 運(yùn)行加載宏的服務(wù)器的名稱(chēng)。如果沒(méi)有服務(wù)器,程序是在本地計(jì)算機(jī)上運(yùn)行,那么該參數(shù)為空白。否則,用引號(hào) ("") 將服務(wù)器的名稱(chēng)引起來(lái)。如果在 Visual Basic for Applications (VBA) (Visual Basic for Applications (VBA):Microsoft Visual Basic 的宏語(yǔ)言版本,用于編寫(xiě)基于 Microsoft Windows 的應(yīng)用程序,內(nèi)置于多個(gè) Microsoft 程序中。) 中使用 RTD,則必須用雙重引號(hào)將服務(wù)器名稱(chēng)引起來(lái),或?qū)ζ滟x予 VBA NullString 屬性,即使該服務(wù)器在本地計(jì)算機(jī)上運(yùn)行。

            topic1, topic2,... 為 1 到 253 個(gè)參數(shù),這些參數(shù)放在一起代表一個(gè)唯一的實(shí)時(shí)數(shù)據(jù)。

            必須在本地計(jì)算機(jī)上創(chuàng)建并注冊(cè) RTD COM 自動(dòng)化加載宏。如果未安裝實(shí)時(shí)數(shù)據(jù)服務(wù)器,則在試圖使用 RTD 函數(shù)時(shí)將在單元格中出現(xiàn)一則錯(cuò)誤消息。如果服務(wù)器繼續(xù)更新結(jié)果,那么與其他函數(shù)不同,RTD 公式將在 Microsoft Excel 處于自動(dòng)計(jì)算模式下進(jìn)行更改。

            二、RTD函數(shù)實(shí)際例子

            =parseArrayData(RTD("ExcelRTD.RTDFunctions",,"AAA"))

            =RTD("MyComAddIn.Progid",,"LOREM_IPSUM","Price")

            在Excel 中使用RTD非常簡(jiǎn)單,Excel 提供了一個(gè)新的工作表函數(shù) RTD,此函數(shù)允許通過(guò)調(diào)用組件對(duì)象模型 (COM) 自動(dòng)化服務(wù)器來(lái)實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)檢索。RTD 工作表函數(shù)使用以下語(yǔ)法:

            "=RTD(ProgID, Server, String 1, String 2, ... String n)"

            第一個(gè)變量 ProgID 表示Real-Time Data 服務(wù)器(RTD Server)的編程標(biāo)識(shí)符 (ProgID)。Server 變量指示運(yùn)行RTD Server的計(jì)算機(jī)的名稱(chēng);如果RTD Server在本地運(yùn)行,則可以將此變量設(shè)置為空字符串或?qū)⑵浜雎。其他變量只表示發(fā)送到RTD Server的參數(shù);這些參數(shù)的每個(gè)唯一組合都表示一個(gè)“主題”(topic),每個(gè)“主題”有一個(gè)關(guān)聯(lián)的“主題 ID”(topic id)。這些參數(shù)區(qū)分大小寫(xiě)。例如,以下內(nèi)容演示將生成三個(gè)不同主題ID的RTD Server調(diào)用:

            =RTD("ExcelRTD.RTDFunctions",,"AAA", "10")

            =RTD("ExcelRTD.RTDFunctions",,"AAA", "5")

            =RTD("ExcelRTD.RTDFunctions",,"aaa", "5")

            要使用 Excel 的 RTD 函數(shù),必須注冊(cè)一個(gè)實(shí)現(xiàn) IRTDServer 接口的COM組件。實(shí)現(xiàn)這個(gè)接口的COM組件就是所謂的RTD Server。IRTDServer具有以下成員:

            ServerStart(CallbackObject)

            CallbackObject 是一個(gè)IRTDUpdateEvent類(lèi)型的參數(shù),它有一個(gè)UpdateNotify方法,用于通知Excel有更新的數(shù)據(jù)可用(push)。這樣Excel就會(huì)通過(guò)調(diào)用RefreshData方法來(lái)刷新所有的主題(pull)。當(dāng) Excel 請(qǐng)求RTD Server的第一個(gè) RTD 主題時(shí)調(diào)用ServerStart方法,該方法會(huì)在成功時(shí)返回 1,并在失敗時(shí)返回負(fù)值或 0。這個(gè)方法在隨后應(yīng)用其他RTD函數(shù)時(shí)不會(huì)再次被調(diào)用。

            ConnectData(TopicID, Strings, GetNewValues)

            其中,TopcID 唯一標(biāo)識(shí)這個(gè)函數(shù)在Excel中的一個(gè)應(yīng)用,即使復(fù)制多份到不同的單元格,對(duì)于Excel來(lái)講,也只是對(duì)應(yīng)一個(gè)主題。這個(gè) topicID 由Excel返回,我們需要將其記錄下來(lái),以便為其提供更新的數(shù)據(jù)。Strings 是一個(gè)System.Array,用于接收RTD函數(shù)傳入的參數(shù)(String 1...String n),這是一個(gè)引用類(lèi)型的參數(shù)。GetNewValues 用于確定是否總是獲取最新數(shù)據(jù),如果這個(gè)參數(shù)傳入true,則每次保存Excel文檔以后,再次重新打開(kāi)時(shí),看到的不一定是上次保存時(shí)的數(shù)據(jù),而是最新的實(shí)時(shí)數(shù)據(jù),這也是一個(gè)引用類(lèi)型的參數(shù)。

            每當(dāng)一個(gè)新的主題(Topic)被應(yīng)用到Excel,ConnectData都會(huì)被調(diào)用。在這里,需要保存?zhèn)魅氲男碌腡opicID和查詢(xún)參數(shù)以供之后更新數(shù)據(jù)使用。為此,需要定義好自己的數(shù)據(jù)結(jié)構(gòu)。

            DisconnectData(TopicID)

            與ConnectData一樣,TopcID 唯一標(biāo)識(shí)這個(gè)函數(shù)在Excel中的一個(gè)應(yīng)用。當(dāng)我們從Excel中移除一個(gè)主題(刪除所有采用相同參數(shù)的RTD函數(shù))之后,DisconnectData將被調(diào)用,在這里,可以釋放對(duì)這個(gè)主題的監(jiān)控,并不再為其獲取新數(shù)據(jù)。

            Heartbeat

            確定RTD Server是不是依然可用,0和負(fù)數(shù)代表不可用,1代表可用。Excel會(huì)調(diào)用此方法確定服務(wù)是否斷連。

            RefreshData(TopicCount)

            TopicCount表示要更新的主題數(shù)量,這是一個(gè)引用類(lèi)型的參數(shù),用于返回給Excel。我們可以定義一個(gè)時(shí)鐘,用于定時(shí)向數(shù)據(jù)源獲取數(shù)據(jù),這樣,在時(shí)鐘的Elapsed事件中,獲取最新數(shù)據(jù),并調(diào)用xlRTDUpdate成員的UpdateNotify方法以通知Excel,新的數(shù)據(jù)準(zhǔn)備完畢。這樣Excel就會(huì)調(diào)用RefreshData方法,來(lái)對(duì)工作簿中的數(shù)據(jù)進(jìn)行更新。

            ServerTerminate

            當(dāng)Excel不再需要從RTD Server獲取實(shí)時(shí)數(shù)據(jù)時(shí)被調(diào)用。在這里,可以執(zhí)行一些清理,例如清除緩存,關(guān)閉時(shí)鐘等等。至此,一個(gè)RTD Server的生命周期就結(jié)束了。

          【excel RTD函數(shù)實(shí)際例子及語(yǔ)法】相關(guān)文章:

          關(guān)于Excel的Hour函數(shù)介紹09-22

          Excel日期和時(shí)間函數(shù)11-27

          關(guān)于Excel工程函數(shù)大全11-27

          關(guān)于excel中的cos函數(shù)11-03

          關(guān)于Excel的IFERROR函數(shù)是什么11-09

          關(guān)于Excel數(shù)據(jù)庫(kù)和清單管理函數(shù)11-27

          excel實(shí)訓(xùn)心得03-09

          實(shí)際理論高三作文10-18

          托福語(yǔ)法:倒裝用法11-12

          托福聽(tīng)力與語(yǔ)法的關(guān)系11-28