我正在创建一个excel加载项,它连接到在API上设置的函数和公式。 要使用API函数,用户需要登录并接收令牌。
Token是一个全局变量,只要调用API函数就会引用它。
这个插件将被许多不同的工作簿使用,所以我试图让用户尽可能容易地连接。
目前我有一个连接并将详细信息存储在全局变量中的函数,因此它们只需登录一次。但是每当他们关闭并重新打开时,他们必须通过调用函数并传入细节来重新登录。
有没有办法从加载项访问初始化工作簿?
有效等效?
或者在启动时运行加载项功能?,用户无需设置宏或自定义功能,他们只需添加并自动连接其详细信息。
'Is their an equivalent of
Sub New() / Sub OnLoad()
Initalize()
End sub
我不希望用户完全担心会发生什么,他们只需要在定义的单元格中加载用户名和密码的页面,或者引用用户名和密码的功能,即使是页面设置为手动计算,它将在加载时重新计算。
感谢任何帮助。
答案 0 :(得分:2)
不是将令牌存储为全局令牌,而是将其存储为已定义的名称,该名称是持久的。
ThisWorkbook.Names.Add "Token", sToken
然后只需在每次需要令牌时评估名称。
sToken = ThisWorkbook.Sheets(1).[Token]
答案 1 :(得分:2)
如果有人好奇的话。我发现你可以使用类似于OnLoad()的方式初始化全局变量。
Private WebAddress As String
Sub Auto_Open()
WebAddress = "www.stackoverflow.com"
End Sub
可以在模块中,并在工作簿打开时调用。