首页 > 解决方案 > 我们如何在声明语句中使用字符串变量?

问题描述

DLL 函数的“正常”声明语句如下所示:

   Declare Sub subName Lib "path_to_lib" _
   Alias "aliasName" _
   (...)

在我的应用程序中,最好让用户选择他们的库位置,然后我将该位置写入一个单元格。我想将此值传递给“path_to_lib”参数,但我在提取单元格值时遇到了困难。

我尝试将单元格值分配给全局变量,例如 pathVariable 并编写:

Declare Sub subName Lib " & pathVariable & "  _
   Alias "aliasName" _
   (...)

但这会返回错误: File Not Found: & pathVariable &

我也试过双引号,它返回错误: File Not Found " & pathVariable & "

然后我尝试了三引号,VBA 有助于减少双引号给我同样的错误。

这里有什么特殊的语法酱吗?甚至是替代方法?还是我应该放弃这个(有用的)功能?

标签: excelvba

解决方案


你不能。模块(声明)部分中的所有内容都只能是声明性语句,它们是不可执行的:变量在声明性上下文中没有任何意义,它不能有值。虽然AConst可以工作,但如果你尝试它,你会得到一个编译错误:VBA 将只接受它的字符串文字。

预期:字符串常量


推荐阅读