我正在通过Excel VBA查询Outlook数据库,我想对用户定义属性的值应用两个条件。以下代码,在相同的“If”语句中具有两个条件
Set cat1 = CurrentItem.UserProperties.Find("catniveau1")
If cat1 <> "" and Not (cat1 Is Nothing) Then
,引发以下错误:“对象变量或未设置块变量”。但是,有两个单独的“if”语句正常工作:
Set cat1 = CurrentItem.UserProperties.Find("catniveau1")
If Not (cat1 Is Nothing) Then
If cat1 <> "" Then
有没有办法在同一个“if”语句中应用这两个条件?
答案 0 :(得分:1)
由于逻辑连接而无法同时评估这两个条件&#34;时间&#34;,让我解释一下。
cat1是一个范围(需要确定首先是什么) 由于cat1可能已定义,也可能未定义,因此无法评估其是否为&lt;&gt; &#34;&#34;
cat1&lt;&gt; &#34;&#34;它需要评估范围是什么。 我知道&#34;人类&#34;思考可能在同一时间,但总结:
A)变量需要首先解决为范围...
B)评估是否&lt;&gt; &#34;&#34;,
我不明白为什么你需要再次评估if <>""
- 如果它没有找到它没有价值的价值 - 为什么不留下If Not (cat1 Is Nothing) Then
这句话呢?