Visual Basic é o máximo!

Aviso aos navegantes, conteúdo técnico adiante. Contúdo a história não deixa de ser interessante

Se me perguntassem há dois meses atrás, se um dia eu jamais programaria Visual Basic (da Mirco$oft), sem pestanejar eu responderia “ÉÉÉCA!”. Numa linha de “a ocasião faz o ladrão” as circunstâncias me obrigaram a mudar radicalmente!

De uma hora para a outra eu estava num emprego em que a única ferramenta que eu tinha para trabalhar era o Windows e seus cumparsas (Outlook, Word e principalmente Excel). Pra piorar muito mais a situação, meu ambiente de trabalho não me permitia codar (escrever códigos de programa) um dos meus mais estimados vícios.

O estopim foi quando me incumbiram com a seguinte tarefa:

Planilha Excel 1
800 linhas cada uma com um nome de um domínio (i.e. credit-suisse.com, etc.) e uma data.
Planilha Excel 2
10000 linhas, cada linha com 80 colunas cada.
Objetivo
Para cada domínio (i.e. linha) da Planilha 1 atualize 12 colunas da linha do mesmo domínio na Planilha 2

Me explicaram então a metodologia, algo como “CTRL+C” no domínio, mude de planílha, “CTRL+F” para buscar, “CTRL+v” para achar a linha certa… AFFFFFF!

Abri o menu “Ferramentas => Macros” e tinha uma opção “Gravar Macro” e outra “Editar Macro”. Não deu outra, gravei o procedimento uma vez e cliquei em editar para ver a cara do negócio.

Sem saber eu estava programando Visual Basic. Algumas horas depois eu apertava o “play” e o Excel ficava trabalhando uns 3 minutos feito louco! Em suma, a tarefa que era para eu fazer em dias agora era executada em minutos.

Invez de eu ficar quietinho no meu canto, resolvi mostrar para meu chefe (i.e. me exibir) o que eu tinha feito. Ele, como todo bom chefe, disse: “Bom trabalho!” e emendou: “A sua próxima tarefa é…”

Isto tudo foi a mais ou menos uma semana… Desde então eu entrei em deep hacking mode, não consigo parar de codar Visual Basic. Já fiz até scripts para manipular o Outlook e criar um e-mail para cada um daqueles 800 domínios e salvá-lo na pasta nomeada pelo sufixo dele (i.e. domino.com.br na pasta “br”, dominio.com na pasta “com” e assim por diante)

Minha útlima façãnha é um script que pega a lista de domínos, abre um “Internet Explorer” e navega até o domínio, tira uma screenshot da página, cola num documento do Word faz uma requisição Webservice para coletar as informações (WHOIS) do domínio, cola no word também, atualiza a planilha daquele domínio.

Hoje, antes de sair do escritório, disparei este último script para rodar durante a noite. Se tudo der certo, amanha eu vou chegar no escritório e vai ter um document Word de uns 100 Megabytes com centenas de screenshots e whois esperando por mim!

O dado interessante é que esta é uma tarefa bimestral e que um funcionário do departamento dedicava de quatro a cinco dias para executá-la. Em suma, se der certo eu vou economizar para meu departamento 40 homem/hora por bimestre ou 20 homem/hora por mês!

Fica então a pergunta para meus amigos hackers que como eu um dia, praticamente abominam Visual Basic:

Visual Basic é ou não é o bixo!?

Comments

  1. jm wrote:

    é GPL?!
    :-)

  2. mom wrote:

    First, que bárbaro que VOCÊ foi o profissional que usou o “gravar macro” para aprender a codar em Visual Basic, e desenvolveu toda a linguagem para automatizar este trabalho. Deepest congrats!
    Second, não é inacreditável que nunca caiu esta ficha numa potência como o CS, onde provavelmente tem um exército que deveria saber programar nos softwares da Microsoft?
    Amazing!!!
    Mom

  3. krico wrote:

    JM,

    Putz, não posso pulibcar nada que eu escrever no meu trabalho. Assinei um contrato com o banco dizendo que o que eu produzir no banco é do banco..

    Mesmo assim, se você quiser eu te explico como faz!!!!

  4. tazfera wrote:

    hahahaha vb é o máximo krico! PRA VC NESSE MOMENTO! pra mim continua sendo a mesma porcaria de sempre rsrsrsrsrs

    O negócio é esse….. mesmo que vc tenha que cair nos braços do inimigo(bill gates) vc tem q se sair bem e com certeza vc esta sendo bem visto pelo seu chefe, mostrando muito mais que competencia e habilidade!

    bjos “macrados” pra vc

  5. galmeida wrote:

    Cara, não sei se você já teve oportunidade, se não teve tenta arrumar um MacOS X p/ brincar com o AppleScript, esse cara sim é o bicho

  6. midushi wrote:

    Que Visual Basic, que nada!
    Meu marido sim, que é o Bicho!
    hehehhe
    Beijos
    Miris

  7. mom wrote:

    Midushi, é melhor a gente parar de elogiar, por que ele já não está mais nem respondendo mensagens de e-mail…
    É um desafio ser “bixo educado”, né?

  8. Chester wrote:

    Krico,

    Como você bem sabe, uma das características fundamentais de sistemas baseados em UNIX é que eles permitem a criação de processos sofisticados através de ferramentas altamente focadas, “amarradas” por scripts shell.

    Um erro comum dos zoófilos-obcecados-por-pinguim é alegar que isto não é possível no Windows. Na verdade é, só que a abordagem é um pouco diferente:

    O fato é que, em Windows, mesmo que você passe ao largo da API Win32, praticamente todas as funcionalidades - tanto do S.O. quanto dos aplicativos importantes - é exposta através de componentes ActiveX/COM.

    Isso, aliado à facilidade de acessar estes componentes linguagens script diferentes dentro e fora de aplicativos (graças ao Windows Scripting Host), permite que você automatize e reutilize muitas funcionalidades.

    E foi exatamente nesta facilidade que você “tropeçou” (e, como bom fuçador/coder, se lambuzou até a alma).

    O Visual Studio, o Office e o .Net, cada um a seu modo, empacotam e estendem este modelo, mas grosso modo o verdadeiro poder do Windows (para programadores que não estejam criando aplicações monolíticas, mas tenham tarefas deste gênero para executar) está calcado nesta fundação.

    Aliás, esse tipo de mudança de paradigma é a maior dificuldade que as pessoas que conhecem muito Unix/Linux/assemelhados tem para reconhecer o verdadeiro potencial do Windows - particularmente das vertentes baseadas no NT, que muitas vezes herdam, injustamente, o “bad name” dos seus predecessores…

    Happy hackin’!

  9. krico wrote:

    Putz Chester, pelo jeito você é velho de guerra neste assunto hein!

    Queria eu poder brincar com o Visual Studio. Tudo que me deram foi o rélis “macro editor” do excel :-(

  10. peas wrote:

    o Visual Basic for Applications é mesmo um a mao na roda. E a API ta bem extensa, tem todas as collections necessarias e muito mais! To esperando esse 2007 que teoricamente da para escrever com C#, assim, alem de ser o maximo, fica legivel :)

  11. andersonb wrote:

    Parabens Krico o que uma simples ferramenta pode fazer na mão de uma pessoa inteligente!!!

  12. mom wrote:

    Comentário do Chester legal, hem? Agora entendi ainda melhor o post do Visual Basic, e daqui a pouco vou aprender também eu a ler (mas lastimavelmente não entender…) Window Scripting

  13. lucylena wrote:

    FELICIDADE,é isso…Ver um filho brilhar !!!!!! Não sou vidente mas já havia dito,que eu ainda veria vc brilhar muito,dito e feito…..DÁ-LHE CHRISTIAN….Que DEUS continue te dando inteligência e sabedoria….com muito orgullho….quem te admira….sua sogra,lucy

Post a Comment

You must be logged in to post a comment.