2016-05-01 2 views

Répondre

1

Dans le modèle objet Excel Formula est une chaîne, pas un objet.

Un simple test dans Excel VBA:

Sub test() 
    Dim R As Variant 
    Set R = Range("A1") 
    Debug.Print TypeName(R) 
    Debug.Print TypeName(R.Formula) 
End Sub 

Il imprime:

Range 
String 
+1

merci. Je suppose que j'étais confus parce que dans l'addin exprime le type de valeur retourné est Object et dans le navigateur d'objet VBA le type est Variant. Est-il possible qu'il montre comme chaîne dans le VBA mais est enveloppé dans un objet dans l'inter op? – Mr1159pm

+0

@ Mr1159pm Je ne sais vraiment pas quel type d'emballage a lieu lorsque vous utilisez interop. Si les chaînes dot net sont un objet d'une manière telle que les chaînes VBA ne le sont pas, vous avez probablement raison de penser que quelque chose comme ça continue, mais même si je ne pense pas que la propriété formula est une sorte d'objet séparé être garbage-collecté lorsque l'objet range parent est libéré. –