web-dev-qa-db-fra.com

Fonction Renvoi Booléen?

J'ai une fonction simple dans VBA et je devrais vérifier si cela a été effectué avec succès. Je ne connais pas beaucoup VBA, alors je ne sais pas si c'est possible ou non. Je veux faire quelque chose comme ceci: bool X=MyFunction()

J'utilise VBA dans la programmation descriptive QTP . Cela ne fonctionne pas:

Function A as Boolean
   A=true
End Function

Il dit: Expected statement

Mais je ne vois aucun type de retour dans ma méthode, etc.

10
Mirial
function MyFunction() as Boolean
    .....
    .....
    MyFunction = True 'worked
end function

dim a as boolean = MyFunction()
20
Rene de la garza

Dans VBA, vous définissez la valeur de retour d'une fonction en affectant une variable portant le même nom que la fonction:

Function MyFunc() as Boolean
    MyFunc = True
End Function
7
codeape

Je suppose que vous utilisez peut-être VBScript au lieu de VBA? Si tel est le cas, VBScript n'indique pas le type

cela fonctionnera dans VBScript

dim test,b
test = 1
b=false
msgbox ("Calling proc before function test=" & test)
msgbox("Calling proc before function b=" & b)
b = A(test)
msgbox ("Calling proc after function test=" & test)
msgbox("Calling proc after function b=" & b)

Function A(test)
test = test +1  
A=true
End Function

ou dans votre exemple

Function A()    
A=true
End Function
4
osknows

Il n'y a pas de moyen réel de vérifier si une fonction a fonctionné dans VBA. Vous devez décider vous-même si votre fonction a réussi. Par exemple:

Function AFunction() as Boolean
    on error goto 1
    MyFunc = True
    AFunction = True
    Exit Function
    1
    AFunction = False
End Function

Ce qui précède vous permet de savoir si la fonction a échoué. Si cela échoue, il passe à l'étiquette '1' puis renvoie false, sinon il renvoie true.

Si ce n'est pas une "erreur" que vous recherchez, vous devez alors décider si les données renvoyées ou fournies sont correctes. Une façon de procéder consiste à renvoyer une valeur spécifique [code d'erreur] qui représente un échec.

1
Serodis

Eh bien, si vous avez accès à votre déclaration de fonction, vous pouvez définir un type de retour bool et la valeur true ou false en fonction de l'exécution . Une fois que votre fonction aura renvoyé un bool, votre code fonctionnera.

0
chamel