O que são parâmetros ByVal?
Se ByVal for especificado, os argumentos serão enviados como byvalue quando a função ou procedimento for chamado.
Exemplo
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Function fnadd(Byval num1, Byval num2)
num1 = 4
num2 = 5
End Function
Dim x,y
x = 6
y = 4
res = fnadd(x,y)
document.write("The value of x is " & x & "<br />")
document.write("The value of y is " & y & "<br />")
</script>
</body>
</html>
A função acima assume os parâmetros xey como por valores. Portanto, após a execução da função, os valores permanecem inalterados.
Se a função acima for salva como .html e executada no IE, a saída será a seguinte -
The value of x is 6
The value of y is 4