将字符串变量和发送密钥放入 Excel 警报消息中

Place string variable and Send Keys in Excel Alert Message

我正在 excel 2016 年编写一个宏来操作链接到 SQL 服务器的工作簿中的数据。在使用数据之前,我需要刷新工作簿中的所有数据。但是,当 "Refresh All"(位于“数据”选项卡中)要求我输入密码时,会出现一个输入框。我希望代码如下所示。

'Prompt opens
SendKeys("foobar")
SendKeys("{ENTER}") 

当我尝试将 SendKeys 发送到提示时,代码停止执行,并且在我手动输入密码并按回车键之前不会恢复。如何向此提示发送字符串,以及发送输入字符串的键?

图片:

从技术上讲,这不是您问题的答案,但它是您问题的可能解决方案! (即,XY Problem)与其将重点放在 解决方法 上来解决 SQL 服务器不记得密码的问题,我们可以将重点放在问题上本身.

如果您的问题中没有更多信息(例如 "How did you create this link in the first place?"),我会假设 Excel 正在使用 ODBC DSN 进行连接。 (在某些时候,有人不得不 "tell" Excel 服务器的名称和登录 ID,而且只有这么多方法可以做到这一点。)

  • 点击 Windows 键并输入 odbc
  • 如果您是 运行 64 位系统,您应该有两个相关选项:

  • 打开这两个以检查每个中的 3 个位置:

如果除了图中显示的项目之外还列出了任何项目,可以双击以调查这是否可能是 SQL 服务器的来源登录信息。


如果此处肯定没有相关的 ODBC DSN,那么接下来要检查的是 Data 中 Excel 内的数据连接 > Queries & Connections.


更多信息: