Declarações diversas do VBScript
O VBScript tem algumas outras declarações importantes para ajudar os desenvolvedores a desenvolver um script eficiente. A tabela a seguir lista um conjunto dessas declarações importantes. Neste capítulo, discutiremos cada uma dessas declarações em detalhes com exemplos.
Categoria | Nome da função / nome da declaração |
---|---|
Opções | Opção Explícita |
ID do motor de script | ScriptEngine |
variantes | IsArray, IsEmpty, IsNull, IsNumeric, IsObject, TypeName |
Expressão | Eval, Execute |
Declaração de Controle | Com ... Terminar Com |
Função Matemática | Aleatória |
Opção Explícita
Option Explicit força o desenvolvedor a declarar as variáveis usando Dim declaração antes de serem usados em alguma parte do código.
Sintaxe
Option Explicit
Exemplo
Se usarmos Option Explicit e se não declararmos as variáveis, o interpretador irá lançar um erro.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Option Explicit
Dim x,y,z,a
x = 10
y = 20
z = fnadd(x,y)
a = fnmultiply(x,y)
Function fnadd(x,y)
fnadd = x+y
End Function
</script>
</body>
</html>
ScriptEngine
ScriptEnginerepresenta os detalhes da linguagem de script em uso. Também é usado em combinação comScriptEngineMajorVersion, ScriptEngineMinor Version, ScriptEngineBuildVersion que fornece a versão principal do mecanismo vbscript, a versão secundária do mecanismo vbscript e a versão de compilação do vbscript, respectivamente.
Sintaxe
ScriptEngine
Exemplo
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim scriptdetails
scriptdetails = " Version " & ScriptEngine & " - "
'For getting Major version, use ScriptEngineMajorVersion'
scriptdetails = scriptdetails & ScriptEngineMajorVersion & "."
'For getting Minor version, use ScriptEngineMinorVersion'
scriptdetails = scriptdetails & ScriptEngineMinorVersion & "."
'For getting Build version, use ScriptEngineBuildVersion'
scriptdetails = scriptdetails & ScriptEngineBuildVersion
Document.write scriptdetails
</script>
</body>
</html>
Salve o arquivo com extensão .html ao executar o script no IE, o seguinte resultado é mostrado na tela.
Version VBScript - 5.8.16996
Está vazia
A função IsEmpty é usada para verificar se a expressão está vazia ou não. Ele retorna um valor booleano.IsEmptyretorna True se a variável não foi inicializada ou explicitamente definida como Vazia. Caso contrário, a expressão retorna False.
Sintaxe
IsEmpty(expression)
Exemplo
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim var, MyCheck
MyCheck = IsEmpty(var)
Document.write "Line 1 : " & MyCheck & "<br />"
var = Null ' Assign Null.
MyCheck = IsEmpty(var)
Document.write "Line 2 : " & MyCheck & "<br />"
var = Empty ' Assign Empty.
MyCheck = IsEmpty(var)
Document.write "Line 3 : " & MyCheck & "<br />"
</script>
</body>
</html>
Salve o arquivo com extensão .html ao executar o script no IE, o seguinte resultado é mostrado na tela.
Line 1 : True
Line 2 : False
Line 3 : True
É nulo
A função IsNull é usada para verificar se a expressão possui dados válidos ou não. Ele retorna um valor booleano.IsNull retorna True se a variável for Null, caso contrário, a expressão retorna False.
Sintaxe
IsNull(expression)
Exemplo
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim var, res
res = IsNull(var)
document.write "Line 1 : " & res & "<br />"
var = Null
res = IsNull(var)
document.write "Line 2 : " & res & "<br />"
var = Empty
res = IsNull(var)
document.write "Line 3 : " & res & "<br />"
</script>
</body>
</html>
Salve o arquivo com extensão .html ao executar o script no IE, o seguinte resultado é mostrado na tela.
Line 1 : False
Line 2 : True
Line 3 : False
IsObject
A função IsObject é usada para verificar se a expressão tem ou não um objeto válido. Ele retorna um valor booleano.IsObject retorna True se a expressão contém um subtipo de objeto, caso contrário, a expressão retorna False.
Sintaxe
IsObject(expression)
Exemplo
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim fso,b
b = 10
set fso = createobject("Scripting.Filesystemobject")
x = isobject(fso)
Document.write "Line 1 : " & x & "<br />"
y = isobject(b)
Document.write "Line 2 : " & y & "<br />"
</script>
</body>
</html>
Salve o arquivo com extensão .html ao executar o script no IE, o seguinte resultado é mostrado na tela.
Line 1 : True
Line 2 : False
IsNumeric
A função IsNumeric é usada para verificar se a expressão tem ou não um subtipo de número. Ele retorna um valor booleano.IsObject retorna True se a expressão contém um subtipo de número, caso contrário, a expressão retorna False.
Sintaxe
IsNumeric(expression)
Exemplo
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim var, chk
var = 20
chk = IsNumeric(var)
Document.write "Line 1 : " & chk & "<br />"
var = "3.1415935745"
chk = IsNumeric(var)
Document.write "Line 2 : " & chk & "<br / >"
var = "20 Chapter 23.123 VBScript"
chk = IsNumeric(var)
Document.write "Line 3 : " & chk & "<br / >"
</script>
</body>
</html>
Salve o arquivo com extensão .html ao executar o script no IE, o seguinte resultado é mostrado na tela.
Line 1 : True
Line 2 : True
Line 3 : False
Digite o nome
A função TypeName é usada para retornar as informações de subtipo de variante da variável.
Sintaxe
TypeName(varname)
A função Typename pode retornar qualquer um dos seguintes valores.
Byte - valor do byte
Inteiro - Valor Inteiro
Longo - Valor inteiro longo
Único - Valor de ponto flutuante de precisão simples
Duplo - valor de ponto flutuante de precisão dupla
Moeda - Valor da moeda
Decimal - valor decimal
Data - Valor de data ou hora
String - Valor da string de caracteres
Boolean - Valor Booleano
Vazio - Valor não inicializado
Nulo - Sem Dados Válidos
Objeto - nome de tipo do objeto
Nothing - Variável de objeto que ainda não se refere a uma instância de objeto
Error
Exemplo
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim ArrVar(2), vartype
NullVar = Null ' Assign Null value.
vartype = TypeName(3.1450)
Document.write "Line 1 : " & vartype & "<br />"
vartype = TypeName(432)
Document.write "Line 2 : " & vartype & "<br />"
vartype = TypeName("Microsoft")
Document.write "Line 3 : " & vartype & "<br />"
vartype = TypeName(NullVar)
Document.write "Line 4 : " & vartype & "< br />"
vartype = TypeName(ArrVar)
Document.write "Line 5 : " & vartype & "<br />"
</script>
</body>
</html>
Salve o arquivo com extensão .html ao executar o script no IE, o seguinte resultado é mostrado na tela.
Line 1 : Double
Line 2 : Integer
Line 3 : String
Line 4 : Null
Line 5 : Variant()
Eval
A função Eval executa uma expressão e retorna o resultado como uma string ou um número.
Sintaxe
Eval(expression)
O argumento Expression pode ser uma expressão de string ou um número. Se você passar para a função Eval uma string que não contém uma expressão numérica ou um nome de função, mas apenas uma string de texto simples, ocorre um erro em tempo de execução. Por exemplo, Eval ("VBScript") resulta em um erro.
Exemplo
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Document.write Eval("10 + 10") & "<br />"
Document.write Eval("101 = 200") & "<br />"
Document.write Eval("5 * 3") & "<br />"
</script>
</body>
</html>
Salve o arquivo com extensão .html ao executar o script no IE, o seguinte resultado é mostrado na tela.
20
false
15
Executar
A instrução Execute aceita o argumento que é uma expressão de string contendo uma ou mais instruções para execução.
Sintaxe
Execute(expression)
No VBScript, a = b pode ser interpretado de duas maneiras. Ele pode ser tratado como uma instrução de atribuição em que o valor de x é atribuído a y. Também pode ser interpretado como uma expressão que testa se a e b têm o mesmo valor. Se o fizerem, o resultado é True; se não forem, o resultado é False. A instrução Execute sempre usa a primeira interpretação, enquanto a instrução Eval sempre usa a segunda.
Exemplo
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim x
x = "Global"
y = "VBScript"
Execute("x = y")
msgbox x
msgbox y
</script>
</body>
</html>
Salve o arquivo com extensão .html ao executar o script no IE, o seguinte resultado é mostrado na tela.
VBScript
VBScript
Com..Fim com
A instrução With nos permite realizar uma série de operações em um objeto especificado sem mencionar explicitamente o nome do objeto repetidamente.
Sintaxe
With (objectname)
statement 1
statement 2
statement 3
...
...
statement n
End With
Exemplo
Ao executar o script a seguir, o Winword é aberto e o texto especificado é inserido.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Msg = "Vbscript" & vbCrLf & "Programming"
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
' Objects methods are accessed without requaliyfying the objects again.'
With objWord
.Documents.Add
.Selection.TypeText Msg
.Selection.WholeStory
End With
</script>
</body>
</html>
Aleatória
A instrução Randomize inicializa o gerador de número aleatório, que é útil para os desenvolvedores gerarem um número aleatório.
Sintaxe
Randomize [number]
Exemplo
Ao executar o script a seguir, o Winword é aberto e o texto especificado é inserido.
<!DOCTYPE html>
<html>
<body>
<script language = "vbscript" type = "text/vbscript">
Dim MyValue
Randomize
MyValue = Int((100 * Rnd) + 1) ' Generate random value between 1 and 100.
MsgBox MyValue
</script>
</body>
</html>
Salve o script acima como HTML e, ao executar o script no IE, a seguinte saída é mostrada.
42