2015-02-01 1 views
1

Я щипая мое правило прогноз в VBA и случайно/инстинктивно пытался передать переменную, обращаясь к нему как точка внутри А с блокомпередать переменную в качестве аргумента внутри своих собственных с блоком

В моем случае var был CurrentItem, и одна из моих подпрограмм ожидает его в списке параметров. Обычно вы можете указывать на var, который находится внутри блока With с помощью точки (например, с помощью regEx .Global = True, .Pattern = "^. * $" End With).

Попытка передать точку, как правило, не работает. Мне любопытно, есть ли такая стенограмма, чтобы ссылаться на сам var внутри блока С? Вот пример кода:

With CurrentItem 
    If .Class = olMail Then 
     sFromName = .SenderName 
     sID = .Sender.ID 
     ''dot arg that doesn't work: 
     ''GetSMTP sFromName, sID, . 
     GetSMTP sFromName, sID, CurrentItem 
    End If 
End With 
+0

Не забудьте отметить мой ответ как принятый. – Tomalak

ответ

1

Нет, вы не можете обратиться к текущему элементу в With блоке. Это действительно лучшее, что вы можете получить:

With CurrentItem 
    If .Class = olMail Then 
     GetSMTP .SenderName, .Sender.ID, CurrentItem 
    End If 
End With