gpt4 book ai didi

vba - 模仿 bdh 函数填充

转载 作者:行者123 更新时间:2023-12-04 20:16:15 26 4
gpt4 key购买 nike

当查询输入到 Excel 中的 Bloomberg BDH 函数中时,它会自动填充选定的单元格,并使用请求的数据填充下面的单元格。

我正在尝试创建一个执行类似操作的函数(尽管使用不同的数据源)。 BDH 函数在填写查询数据时如何规避用户定义函数中修改其他单元格的典型限制?

最佳答案

您需要分两个阶段进行:

  • 您的函数调用另一个进程来计算值并仅返回要返回的数组的第一个元素(可以是“#NA #NA”或日期或价格等。
  • 被调用的进程可以在单独的 RTD 服务器(查看实时数据服务器)中运行,也可以在通过 DDE 链接到电子表格的单独进程中运行。 (我认为,Bloomberg 将 DDE 用于某些功能,RTD 用于其他功能)
  • 这样,当您调用函数时,会立即返回第一个值(即答案或“#NA Requesting Data...”,然后当 RTD 服务器获取所需数据时,此函数的答案将更改为顶部的任何值-左边的数组元素是,其余的单元格通过 DDE/RTD 填充。

  • 在 Microsoft 的知识库中可以找到设置 RTD 服务器的简单示例。此外,在 Google 上可以找到许多使用 DDE(一种较旧但非常流行的使用 Excel 进行金融数据交换的技术,即使在今天)的示例。

    可以使用 C# 或 VB.net Interop 构建一个简单的填充应用程序(再次搜索示例)。

    希望这可以帮助。

    编辑 :您也可以完全使用 VBA 完成此操作,方法是使用 OnTime 功能的一些巧妙组合(参见 http://www.cpearson.com/excel/OnTime.aspx)并将其与从单独的电子表格驱动的 DDE 相结合(查找 Tushar Mehta DDE 时钟,一个非常古老的示例,但有些东西从不改变!)

    关于vba - 模仿 bdh 函数填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24618195/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com