VBScript - VBScript

VBScript
VBSccript file format icon.png
Desenvolvedor Microsoft
Apareceu pela primeira vez 1996 ; 25 anos atrás ( 1996 )
Versão estável
5,8
SO janelas
Extensões de nome de arquivo .vbs , .vbe , .wsf , .wsc ( .asp , .hta , .htm , .html )
Local na rede Internet docs .microsoft .com / en-us / previous-versions / t0aew7h6 (v = vs .85)
Implementações principais
Windows Script Host , Active Server Pages
Influenciado por
Visual básico
Influenciado
Windows PowerShell

VBScript ( " Microsoft Visual Basic Scripting Edition" ) é uma linguagem Active Scripting desenvolvida pela Microsoft que é modelada no Visual Basic . Ele permite que os administradores do sistema Microsoft Windows gerem ferramentas poderosas para gerenciar computadores com tratamento de erros , sub-rotinas e outras construções de programação avançada. Ele pode dar ao usuário controle total sobre muitos aspectos de seu ambiente de computação.

O VBScript usa o Component Object Model para acessar os elementos do ambiente no qual está sendo executado; por exemplo, o FileSystemObject (FSO) é usado para criar, ler, atualizar e excluir arquivos . O VBScript foi instalado por padrão em todas as versões de desktop do Microsoft Windows desde o Windows 98 ; no Windows Server desde o Windows NT 4.0 Option Pack ; e opcionalmente com Windows CE (dependendo do dispositivo em que está instalado).

Um script VBScript deve ser executado em um ambiente de host , do qual vários são fornecidos com o Microsoft Windows, incluindo: Windows Script Host (WSH), Internet Explorer (IE) e Internet Information Services (IIS). Além disso, o ambiente de hospedagem VBScript pode ser incorporado em outros programas, por meio de tecnologias como o Microsoft Script Control ( msscript.ocx ).

História

O VBScript começou como parte das tecnologias de script do Microsoft Windows, lançadas em 1996. Essa tecnologia (que também incluía o JScript ) era inicialmente voltada para desenvolvedores da web. Durante um período de pouco mais de dois anos, o VBScript avançou da versão 1.0 para 2.0 e, ao longo desse tempo, ganhou suporte de administradores de sistema do Windows que buscavam uma ferramenta de automação mais poderosa do que a linguagem de lote desenvolvida no início dos anos 1980. Em 1 de agosto de 1996, o Internet Explorer foi lançado com recursos que incluíam o VBScript.

Na versão 5.0, a funcionalidade do VBScript foi aumentada com novos recursos, incluindo expressões regulares ; aulas ; a declaração com ; as funções Eval , Execute e ExecuteGlobal para avaliar e executar comandos de script criados durante a execução de outro script; um sistema de ponteiro de função via GetRef e suporte para COM Distribuído (DCOM).

Na versão 5.5, SubMatches foram adicionados à classe de expressão regular no VBScript, para finalmente permitir que os autores do script capturem o texto dentro dos grupos da expressão. Esse recurso já estava disponível no JScript.

Com o advento do .NET Framework , a equipe de script tomou a decisão de implementar suporte futuro para VBScript dentro do ASP.NET para desenvolvimento web e, portanto, nenhuma nova versão do mecanismo VBScript seria desenvolvida. Doravante, ele teria o suporte da Equipe de Engenharia de Sustentação da Microsoft , que é responsável por correções de bugs e aprimoramentos de segurança. Para administradores de sistema do Windows, a Microsoft sugere a migração para o Windows PowerShell . No entanto, o mecanismo de script continuará a ser fornecido com versões futuras do Microsoft Windows e IIS.

Ambientes

Quando empregado para desenvolvimento da Web do lado do cliente no Microsoft Internet Explorer , o VBScript é semelhante em função ao JavaScript . É usado para escrever funções executáveis ​​que são incorporadas ou incluídas a partir de páginas HTML e interagem com o Document Object Model (DOM) da página, para realizar tarefas que não são possíveis apenas em HTML. No entanto, outros navegadores da web, como Firefox e Opera e, recentemente, o Chrome não têm suporte integrado para VBScript. Isso significa que quando o script do lado do cliente e a compatibilidade entre navegadores são necessários, os desenvolvedores geralmente escolhem o JavaScript em vez da maioria das outras linguagens de programação, como o VBScript.

O VBScript também é usado para processamento do lado do servidor de páginas da web, principalmente com Microsoft Active Server Pages (ASP). O mecanismo ASP e a biblioteca de tipos, asp.dll , invoca vbscript.dll para executar scripts VBScript. O VBScript incorporado em uma página ASP está contido nas opções de contexto <% e%>. O exemplo a seguir de uma página ASP com VBScript exibe a hora atual no formato de 24 horas, mas também é usado como o script padrão para mensagens de erro com os sistemas operacionais Windows.

 <% Option Explicit %>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 	<head>
 		<title>VBScript Example</title>
 	</head>
 	<body>
 		<div><% 
 			' Grab current time from Now() function.
 			' An '=' sign occurring after a context switch (<%) is shorthand 
 			' for a call to the Write() method of the Response object.
 			Dim timeValue : timeValue = Now %>
 			The time, in 24-hour format, is 
 			<%=Hour(timeValue)%>:<%=Minute(timeValue)%>:<%=Second(timeValue)%>.
 		</div>
 	</body>
 </html>

O VBScript também pode ser usado para criar aplicativos executados diretamente em uma estação de trabalho executando o Microsoft Windows . O exemplo mais simples é um script que usa o ambiente Windows Script Host (WSH). Esse script geralmente está em um arquivo independente com a extensão do arquivo.vbs . O script pode ser chamado de duas maneiras: Wscript.exe é usado para exibir a saída e receber entrada por meio de uma GUI, como diálogo e caixas de entrada. Cscript.exe é usado em um ambiente de linha de comando .

O VBScript pode ser incluído em dois outros tipos de arquivos de script: Arquivos de script do Windows e aplicativos HTML .

Um arquivo de script do Windows (WSF) é estilizado após XML. Um arquivo WSF pode incluir vários arquivos VBS. Como resultado, os arquivos WSF fornecem um meio de reutilização de código: uma biblioteca de classes ou funções pode ser armazenada em um ou mais .vbsarquivos, que podem ser incluídos em .wsfarquivos, para que a funcionalidade possa ser reutilizada de forma modular. Os arquivos têm extensão .wsfe podem ser executados usando wscript.exe ou cscript.exe , da mesma forma que um .vbsarquivo.

Um aplicativo HTML (HTA) é estilizado após HTML. O HTML no arquivo é usado para gerar a interface do usuário e uma linguagem de script, como VBScript, é usada para a lógica do programa. Os arquivos têm extensão .htae podem ser executados usando mshta.exe .

O VBScript (e JScript) também pode ser usado em um Windows Script Component, uma classe de script habilitada para ActiveX que pode ser chamada por outros aplicativos habilitados para COM . Esses arquivos têm extensão .wsc .

O VBScript é simples de criar e pode ser codificado usando um editor de texto fácil de usar como o Bloco de Notas. Um VBScript simples salvo pela .vbsextensão pode ser executado em um sistema Windows clicando duas vezes nele.

Funcionalidade

Características da linguagem

A linguagem do VBScript é modelada em Visual Basic e, portanto, pode ser revisada usando categorias semelhantes: procedimentos, estruturas de controle, constantes, variáveis, interação do usuário, manipulação de array, funções de data / hora, manipulação de erros, funções matemáticas, objetos, expressões regulares, manipulação de cordas e assim por diante.

A seguir estão alguns pontos-chave de introdução à linguagem VBScript da Microsoft

Um "procedimento" é a construção principal no VBScript para separar o código em módulos menores. O VBScript distingue entre uma função, que pode retornar um resultado em uma instrução de atribuição, e uma sub-rotina, que não pode. Os parâmetros são posicionais e podem ser transmitidos por valor ou por referência.

As estruturas de controle incluem os loops iterativos e condicionais usuais, as instruções If-Then-Else e as instruções Case, com algumas variantes mais complexas, como ElseIf e estruturas de controle aninhadas.

Como um auxílio de memória na codificação e, certamente, para facilitar a leitura, há um grande número de constantes, como True e False para valores lógicos, vbOKCancel e vbYesNo para códigos MsgBox, vbBlack e vbYellow para valores de cor, vbCR para o caractere de retorno de carro, e muitos outros.

As variáveis ​​têm o tipo " Variant " por padrão, mas é possível (e às vezes necessário) forçar um tipo específico (inteiro, data, etc.) usando funções de conversão (CInt, CDate, etc.)

A interação do usuário é fornecida por meio de funções MsgBoxe InputBoxque fornecem um formato de caixa de diálogo simples para mensagens e entrada. Ambas as funções exibem mensagens de alerta, com a primeira retornando uma resposta padrão e a última retornando um texto fornecido pelo usuário ou valor numérico. Para uma interação mais elaborada da GUI com os controles, o VBScript pode ser usado em combinação com o HTML, por exemplo, em um aplicativo HTML . Formulários orientados a eventos não são suportados como no Visual Basic ou Visual Basic for Applications .

Os nomes não diferenciam maiúsculas de minúsculas. No entanto, é considerada uma prática recomendada do estilo VBScript ser consistente e capitalizar criteriosamente.

Funcionalidades VBScript

Quando hospedado pelo Windows Script Host , o VBScript fornece vários recursos que são comuns às linguagens de script, mas não estão disponíveis no Visual Basic 6.0 . Esses recursos incluem acesso direto ou fácil a:

  • Argumentos de linha de comando nomeados e não nomeados,
  • Stdin e stdout , que podem ser redirecionados,
  • WSH.Echo que grava no console e não pode ser redirecionado,
  • WSH.ExitCode, que pode ser testado a partir de arquivos em lote DOS, ou pelo processo que invocou o arquivo de script,
  • Impressoras de rede,
  • Compartilhamentos de rede,
  • Pastas especiais, por exemplo, Desktop, Favoritos, MeusDocumentos e assim por diante,
  • Informações do usuário da rede, como associação ao grupo,
  • Métodos para execução em tempo de execução de texto definido em tempo de execução: Eval e Execute,
  • Métodos para executar scripts em máquinas remotas,
  • Instrumentação de gerenciamento do Windows (WMI)
  • Funcionalidade para embutir um motor VBScript em outros aplicativos, usando uma linguagem amplamente conhecida.

CScript, o executor da linha de comando, oferece opções para:

  • Modo interativo ou em lote,
  • Invocando o modo de depuração na linha de comando,
  • Relatório de erros incluindo o número da linha.

Funcionalidade adicional

O gerenciamento do sistema de arquivos, a modificação do arquivo e as operações de fluxo de texto são implementados com a Scripting Runtime Library scrrun.dll. Isso fornece objetos como FileSystemObject, File e TextStream, que expõem o sistema de arquivos do Windows ao programador.

E / S de arquivo binário e memória são fornecidos pela classe "ADODB.Stream", que também pode ser usada para construtores de string (para evitar concatenação excessiva de string, que pode ser cara) e para interconverter matrizes de bytes e strings. O acesso ao banco de dados é possível por meio de ActiveX Data Objects (ADO), e a Metabase do IIS pode ser manipulada usando a função GetObject () com permissões suficientes (útil para criar e destruir sites e diretórios virtuais). Os arquivos e esquemas XML podem ser manipulados com as interfaces de programação de aplicativos da biblioteca XML da Microsoft ( msxml6.dll , msxml3.dll ), que também podem ser usadas para recuperar conteúdo da World Wide Web por meio dos objetos XMLHTTP e ServerXMLHTTP (strings de classe "MSXML2. XMLHTTP.6.0 "e" MSXML2.ServerXMLHTTP.6.0 ", respectivamente).

A funcionalidade também pode ser adicionada por meio de tecnologias ActiveX. As preocupações com a segurança fizeram com que muitos controles ActiveX fossem colocados na lista negra do processo do Internet Explorer pela Microsoft, que implementa o killbit por meio de atualizações mensais de segurança do Windows para desativar códigos vulneráveis ​​da Microsoft e de terceiros.

Os programadores podem utilizar a extensibilidade via módulos COM (ActiveX) para equipar especificamente o Script Host e o VBScript com as funções necessárias ou desejadas. O componente "VTool", por exemplo, adiciona várias janelas de diálogo, acesso a arquivos binários e outras funcionalidades.

Ferramentas de desenvolvimento

A Microsoft não disponibiliza rotineiramente um IDE ( Ambiente de Desenvolvimento Integrado ) para VBScript, embora o Editor de Scripts da Microsoft tenha sido incluído em certas versões do Microsoft Office.

Para fins de depuração, o Microsoft Script Debugger ainda pode ser usado nas versões atuais do Windows, embora a ferramenta não seja atualizada há anos. Ele permite ao usuário definir pontos de interrupção no código VBScript, mas a interface do usuário é mais do que desajeitada.

Existem depuradores VBScript disponíveis em fontes de terceiros e muitos editores de texto oferecem realce de sintaxe para a linguagem.

Durante a execução, quando ocorre um erro, o host do script emite uma mensagem informando o tipo de erro e o número da linha incorreta.

Usos

Embora o VBScript seja uma linguagem de script de propósito geral, várias áreas específicas de uso são dignas de nota. Primeiro, é amplamente usado entre administradores de sistema no ambiente Microsoft. Essa situação pode mudar com a promoção e maior uso do PowerShell . Em segundo lugar, VBScript é a linguagem de script para Quick Test Professional , uma ferramenta de automação de teste. Uma terceira área a ser observada é a adoção do VBScript como a linguagem de script interna para alguns aplicativos incorporados, como interfaces de operador industrial e interfaces homem-máquina. O SGBD hierárquico InterSystems Caché (que tem suas raízes na linguagem MUMPS ) também suporta uma implementação de VBScript, Cache BASIC, para programação de código armazenado.

O VBScript omite vários recursos úteis do Visual Basic completo, como tipagem forte, interceptação de erro estendida e a capacidade de passar um número variável de parâmetros para uma sub-rotina. No entanto, seu uso é relativamente difundido porque é fácil de aprender e porque aqueles que implementam o código na linguagem não precisam pagar royalties à Microsoft, desde que a marca VBScript seja reconhecida. Quando uma organização licencia o Visual Basic for Applications (VBA) da Microsoft, como o fizeram empresas como Autodesk, StatSoft, Great Plains Accounting e Visio (subsequentemente adquirida pela Microsoft), é permitida a redistribuição de todo o ambiente de depuração e escrita de código VBA com seu produto.

O VBScript é usado no lugar do VBA como linguagem de macro do Outlook 97.

O VBScript pode ser usado com eficácia para automatizar as tarefas diárias do escritório, bem como monitorar o ambiente baseado em Windows. É uma ferramenta de primeira escolha para administradores de servidor, usuários do MS Office e outros colaboradores de tecnologia. Ele também pode ser usado em colaboração com ADODB ActiveX Data Objects (ADODB) para conectividade de banco de dados eficaz.

O VBScript também pode ser usado para criar malware e vírus, como o worm ILOVEYOU que se espalha por meio de anexos de e-mail no Outlook 97 que custam bilhões de dólares. Esse também pode ser o principal motivo de alguns navegadores, como Firefox , Opera e Chrome , não oferecerem suporte para ele.

Veja também

Referências

links externos