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
我有一个 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