为什么赢了';如果该VBA为真,则语句是否编译?

为什么赢了';如果该VBA为真,则语句是否编译?,vba,Vba,下面是代码片段 Dim POSelectedNum As CimObjectVariable Set POSelectedNum = CimGetScriptOwner().GetVariable("POSelectedNum") If (StrComp("POSelectedNum" = "POSelectedNum", vbTextCompare) = 0) = True Then POSelectedNum = "" End IF 我不断地发现这个错误: 第44行中的错误168:遇到:

下面是代码片段

Dim POSelectedNum As CimObjectVariable
Set POSelectedNum = CimGetScriptOwner().GetVariable("POSelectedNum")

If (StrComp("POSelectedNum" = "POSelectedNum", vbTextCompare) = 0) = True
Then POSelectedNum = ""
End IF
我不断地发现这个错误:

第44行中的错误168:遇到:行尾

期待:,那么


在“真”的末尾有一个红色的条。我在VBA上搜索了错误168,但没有找到。有什么帮助吗?

我想你的意思是:

Dim POSelectedNum As CimObjectVariable
Set POSelectedNum = CimGetScriptOwner().GetVariable("POSelectedNum")

If StrComp(POSelectedNum, "POSelectedNum", vbTextCompare) = 0 Then
    POSelectedNum = ""
End IF

我想你的意思是:

Dim POSelectedNum As CimObjectVariable
Set POSelectedNum = CimGetScriptOwner().GetVariable("POSelectedNum")

If StrComp(POSelectedNum, "POSelectedNum", vbTextCompare) = 0 Then
    POSelectedNum = ""
End IF

它无法编译,因为该语句在语法上不正确

If
语句有两个有效的语法

内联:

If {bool-expression} Then {statement}
区块:

If {bool-expression} Then
    {statements}
End If
其他任何东西都是编译错误


如果您确实希望
部分与下面的语句一起出现在另一行上,则可以使用带有行连续体(下划线)的内联语法:


请注意,如果
标记不存在,那么就VBA而言,虽然有两行“物理”代码,但这是一行“逻辑”代码,并作为正确的内联语法进行解析。

它不会编译,因为该语句在语法上不正确

If
语句有两个有效的语法

内联:

If {bool-expression} Then {statement}
区块:

If {bool-expression} Then
    {statements}
End If
其他任何东西都是编译错误


如果您确实希望
部分与下面的语句一起出现在另一行上,则可以使用带有行连续体(下划线)的内联语法:


请注意,如果
End If
标记不存在:虽然有两行“物理”代码,但就VBA而言,这是一行“逻辑”代码,并作为正确的内联语法进行解析。

I将删除括号
CimGetScriptOwner.GetVariable(“POSelectedNum”)
我将删除括号
CimGetScriptOwner.GetVariable(“POSelectedNum”)
如果您的问题已得到回答,请单击旁边的空心复选标记将答案标记为“已接受”。这将把你的问题从未回答的问题中删除。干杯如果您的问题已被回答,请单击旁边的空心复选标记,将答案标记为“已接受”。这将把你的问题从未回答的问题中删除。干杯