VBA 字符串作为命令文本(不带引号的字符串)

VBA String as commandtext (string with no Quotes)

我有一个 Sub,它有一个参数字符串并将其包含在命令文本中。我的问题是执行不接受命令行中的字符串(因为引号)。是否可以将命令文本等同于字符串并使系统不考虑引号?谢谢

Public Sub CreatView(ByVal NomeView As String)
NomeView ="View1" 'example

Dim Com As String
Dim Comando As Command
Set Comando = New Command
Com = "StringView_123.Value"
Com = Replace(Com, "123", NomeView)
Comando.CommandText = Com 'Don't work
Comando.CommandText = StringView_View1.Value 'Work fine

Aplicacao.BSO.DSO.BDAPL.Execute (Comando.CommandText)


End Sub

这些是字符串变量(NomeView、Com):

NomeView ="View1" Com = "StringView_123.Value"

这是一个字符串属性(CommandText是Comando对象的一个​​文本属性):

Comando.CommandText = Com

StringView_123 看起来像一个控件的名称(可能是一个文本框?)并且它有一个 Value 属性.

看起来这些行需要更改:

Com = "StringView_123.Value" Com = Replace(Com, "123", NomeView)

至:

Com = StringView_123.Value Com = Replace(Com, "123", NomeView)

控件名称周围的引号 & 属性 表示您使用的是字符串值 ("StringView_123.Value"),而不是控件名称 (StringView_123)

我用 CallByName 替换了 "commandtext",我的战斗在 "value"(定位不佳)。

Public Sub CreatView(ByVal NomeView As String)
NomeView ="View1" 'example

Dim Com As String
Com = "StringView_123"
Com = Replace(Com, "123", NomeView)
Aplicacao.BSO.DSO.BDAPL.Execute (CallByName(Me, Com, VbMethod).Value)

End Sub