Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将VBA字符串强制转换为对象类型_Vba_Variables_Type Conversion - Fatal编程技术网

如何将VBA字符串强制转换为对象类型

如何将VBA字符串强制转换为对象类型,vba,variables,type-conversion,Vba,Variables,Type Conversion,我正在编程VBA。我在这里需要使用的接口只接受类型为“object”的参数。要使用它,我需要在变量中填充一个类似“abc”的字符串。这总是会带来类似类型不匹配的问题 dim varName as Object Set varName = "My Text" 运行时出现同样的问题 dim varName as Object varName = "My Text" 我没有找到任何转换,也不知道如何解决问题。请尝试使用variant:将对象转换为variant。 也不要将“set”与字符串一起

我正在编程VBA。我在这里需要使用的接口只接受类型为“object”的参数。要使用它,我需要在变量中填充一个类似“abc”的字符串。这总是会带来类似类型不匹配的问题

dim varName as Object 
Set varName = "My Text"
运行时出现同样的问题

dim varName as Object 
varName = "My Text"

我没有找到任何转换,也不知道如何解决问题。请尝试使用variant:将对象转换为variant。
也不要将“set”与字符串一起使用。

试着改用variant:将对象转换为variant。
也不要将“set”与字符串一起使用。

听起来像是在引用.NET库,在这种情况下继承自泛型。换句话说,
字符串
是.NET
对象
——不需要强制转换

您应该能够将变量引用传递给字符串,而不是试图将其强制转换为
对象
类型,我认为这在纯VBA中是不可能的

Dim arg1 as String, arg2 as String
arg1 = "foo"
arg2 = "bar"
AddVariable(arg1, arg2)

听起来像是在引用.NET库,在这种情况下继承自泛型。换句话说,
字符串
是.NET
对象
——不需要强制转换

您应该能够将变量引用传递给字符串,而不是试图将其强制转换为
对象
类型,我认为这在纯VBA中是不可能的

Dim arg1 as String, arg2 as String
arg1 = "foo"
arg2 = "bar"
AddVariable(arg1, arg2)

为什么你需要它作为一个对象?为什么签名只接受一个对象?你能在这里提供更多关于总体目标的信息吗?您正试图将字符串存储到对象变量中,这将不起作用(如您所见)。我很想知道您尝试使用的是什么只接受对象的接口,以及最终目标是什么。我在Excel VBA中引用了一个库。如果我使用两个定义为“Object”的参数调用API,并且Sub不会带来错误,那么该API的特性将在帮助中描述:Sub AddVariable(ByRef VarName作为System.Object,ByRef Value作为System.Object)。但是,我需要在这两个变量中加入一些合理的内容。您是否尝试过简单地传递
字符串
实例?为什么需要它作为对象?为什么签名只接受一个对象?你能在这里提供更多关于总体目标的信息吗?您正试图将字符串存储到对象变量中,这将不起作用(如您所见)。我很想知道您尝试使用的是什么只接受对象的接口,以及最终目标是什么。我在Excel VBA中引用了一个库。如果我使用两个定义为“Object”的参数调用API,并且Sub不会带来错误,那么该API的特性将在帮助中描述:Sub AddVariable(ByRef VarName作为System.Object,ByRef Value作为System.Object)。但是,我需要在这两个变量中加入一些合理的内容。您是否尝试过简单地传递
字符串
实例?我有一种感觉.NET涉及到了某个地方;将Object指定为泛型参数时唯一有意义的事情。请注意,他不能直接传递字符串文字,因为函数接受每个引用的参数。您是对的。我对.net而不是VBAI的帮助让我感觉到.net在某个地方参与了进来;将Object指定为泛型参数时唯一有意义的事情。请注意,他不能直接传递字符串文字,因为函数接受每个引用的参数。您是对的。我的帮助集中在.net而不是VBA上