gpt4 book ai didi

Office-JS & VBA Addin 如何混合使用

转载 作者:行者123 更新时间:2023-12-04 00:34:53 28 4
gpt4 key购买 nike

是否可以将 OfficeJS 命令按钮放置到像 .xlam 文件一样构建的自定义 VBA 插件面板?

* 我仍然希望混合使用 VBA 和 OfficeJS

最佳答案

这是未经测试的,但我相信沿着这些路线的东西可以完成这项工作:

使用 CustomXMLPart.dataNodeReplaced event :

function addNodeReplacedEvent() {
Office.context.document.customXmlParts.getByIdAsync("vbaJSBridge", function (result) {
var xmlPart = result.value;
xmlPart.addHandlerAsync(Office.EventType.DataNodeReplaced, function (eventArgs) {
// do stuff with xmlPart
// here you should be able to receive information sent from VBA,
// and return any data necessary.
});
});
}

在 VBA 中使用:
Dim part As CustomXMLPart 

' Returns a custom xml part by its ID:
Set part= ActiveDocument.CustomXMLParts.SelectByID("vbaJSBridge")

part.LoadXML("<data id="vbaJSBridge">some data</data>")

如前所述,我不确定这是否会完全奏效,但这是一种很好的(有点 hacky)完成这项工作的方法。或者,您可以使用 VBA 设置 HTTP 服务器,您可以将 HTTP 请求发送到 JavaScript。为此,您必须使用 Mswsock.dll 并调用 accept方法,(我认为)。

关于Office-JS & VBA Addin 如何混合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45156707/

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