Blog – Os Top 20 Posts de 2015

Já virou tradição. Todo fim de ano disponibilizo a lista dos posts mais acessos aqui no blog. Isso tem alguns objetivos claros, mas o principal deles é compartilhar com vocês o sucesso do blog. Sim, eu chamo de sucesso. Sendo algo que comecei quase que por brincadeira, ou para ver “qual era”, os números abaixo significam algo muito bom!

É claro, nada disso seria possível sem a fidelidade de todos. Espero poder continuar honrando vocês com mais conteúdos com cada vez mais qualidade.

Confira abaixo a lista dos 20 posts mais acessados de 2015 aqui no blog!

Acessos de 29/12/2014 a 29/12/2015

Título Visualizações
Páginal inicial/arquivo 84.391
Modelos Prontos 55.165
Modelos – Planilha de Banco de Dados no Excel 25.812
Modelos Prontos – Módulo de Orçamento em Excel VBA 25.311
VBA – Emitindo mensagens personalizadas com MsgBox 22.763
Planilhas de Controle Financeiro no Excel 15.768
VBA – Fomatar TextBox (Data, Telefone, CPF) nos Eventos KeyPress e Change 14.836
Excel – Somando apenas as células visíveis no AutoFiltro 14.374
Segurança – Quebrando senhas de projetos VBA do Microsoft Office 14.042
Modelos Prontos – Agenda Telefônica Simples 12.213
Excel – Somando Meses com a função DATA() 11.878
Como implementar um atraso/espera no VBA 8.852
Dicas – 5 dicas estupidamente boas no Excel 8.433
Excel – Separando Nome e SobreNome 8.432
VBA – Auto executando macros ao abrir arquivos do Office 8.001
VBA – Listar Arquivos de um diretório 7.488
VBA – Confirmando decisões com o MsgBox (VbMsgBoxResult) 7.444
Excel VBA – Excluir linhas de acordo com um critério 7.391
Excel – Criando listas e ranges dinâmicos com a fórmula DESLOC 6.943
Modelos Prontos – Módulo Orçamento 2.0 em Excel VBA 6.179

2014

https://www.tomasvasquez.com.br/blog/tecnologia/blog-os-top-20-posts-de-2014

2013

Não teve. Deu preguiça, eu acho…

2012

https://www.tomasvasquez.com.br/blog/tecnologia/blog-os-top-20-posts-de-2012

2011

https://www.tomasvasquez.com.br/blog/tecnologia/blog-%e2%80%93-os-top-20-posts-de-2011

2010

https://www.tomasvasquez.com.br/blog/tecnologia/blog-os-top-20-posts-de-2010

E que venha 2016!!!

VBA – Obtendo dados da Web e Serviços Web usando WinHTTP

Estendendo a série de artigos VBA + Web, lembrando que liberei tem pouco tempo um tutoria de Selenium VBA para o quase-mesmo propósito, este tutorial trata de como extrair informações da páginas web e principalmente serviços web, ou web services, como são mais conhecidos.

Para promover a façanha, faremos uso da biblioteca WinHTTP. Em resumo, é ela quem fornece funções para que através de nossos aplicativos no Windows, possamos acessar conteúdo através do protocolo HTTP. Isso significa tudo, ou seja, GET, POST, PUT, DELETE e tudo mais que o protocolo oferecer. Como o mais comum é o GET, vamos começar por ele.

Se você não está familiarizado com estas opções que são chamadas de “verbos”, toda vez que você trafega alpo pela internet, um deste verbos é utilizado. O GET, que na tradução literal do inglês significa “obter”, é exatamente o que acontece quando você digita um endereço de uma página na internet no seu navegador, não importa o qual e clica em Enter.

Vamos fazer isso acontencendo via código:

Sub http()
    Dim MyRequest As Object
 
    'coloca a instância do WinHTTP na memória
    Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
    MyRequest.Open "GET", "http://www.tomasvasquez.com.br"
 
    'Faz a requisição
    MyRequest.Send
 
    'obtém o conteúdo da resposta e coloca na janela de verificação imediata 
    Debug.Print MyRequest.ResponseText
 
End Sub

O que vai acontecer aqui é a obtenção (verbo GET) de todo o conteúdo que o endereço informado, no caso, o www.tomasvaquez.com.br. Como estamos fazendo uma requisição ao documento padrão, que no caso é um HTML, é isto que veremos na janela do VBA, como mostrado abaixo:

vba_winhttp_tomasvasquez

Como mostrado acima, o resultado é um longo texto que representa o código HTML da página. Você verá a mesma coisa caso acesse o mesmo endereço no seu navegador e mandar exibir o código fonte.

Com isso, podemos começar a imaginar o que é possível fazer a partir desta biblioteca. Apesar de ser possível simular uma navegação em determinados sites, este não é o uso mais indicado para esta biblioteca. O mais adequado é fazer seu uso quando for preciso integrar com serviços REST, o que está mais do que na moda atualmente.

Para deixar o exemplo mais completo, vou usar o RSS do fórum e a partir dele, extrair quais foram as últimas postagens:

Sub UltimasDoForum()
    Dim MyRequest As Object, _
    resposta As String, _
    respostaParcial As String, _
    retorno As Long, _
    stringTitulo As String, _
    fimTitulo As Long
 
    'coloca a instância do WinHTTP na memória
    Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
    MyRequest.Open "GET", "http://www.tomasvasquez.com.br/forum/feed.php"
 
    'Faz a requisição
    MyRequest.Send
 
    'obtém o conteúdo da resposta
    resposta = MyRequest.ResponseText
 
    stringTitulo = ""
    'procura pelo título do post, se houver
    retorno = InStr(1, resposta, stringTitulo, vbTextCompare)
 
    'itera até o próximo e até não encontrar mais
    While retorno > 0
        fimTitulo = InStr(retorno, resposta, "", vbTextCompare)
        respostaParcial = Left(resposta, fimTitulo)
        Debug.Print Right(respostaParcial, Len(respostaParcial) - retorno - Len(stringTitulo))
        resposta = Right(resposta, Len(resposta) - fimTitulo)
        retorno = InStr(retorno, resposta, stringTitulo, vbTextCompare)
    Wend
End Sub

Não é preciso dar atenção ao código que extrai o texto pois é apenas um tratamento de strings para limpar o código XML. O resultado pode ser visto na figura abaixo:

Macro Ultimas do Forum executada

Ainda haveria que limpar um pouco as strings, mas já é possível ter uma ideia do que é possível começar a fazer com essa biblioteca.

Agora, é com vocês. Bom proveito!

Download do arquivo:

WinHTTP.zip (13.18 KiB)

Referências:

WinHTTP: https://msdn.microsoft.com/pt-br/library/windows/desktop/aa382925%28v=vs.85%29.aspx

Video – Criando uma Pesquisa no Excel Online


É… me empolguei. Agora que onda são vídeos e aprendi a fazer (acho), estou aproveitando para deixar as ideias voarem e produzir o máximo de conteúdos! Pois bem, o próximo da lista é o vídeo abaixo:

Nele mostro como utilizar o Excel Online, ou Excel 365 se preferir, para criar uma pesquisa e publica-la online. Ok, temos várias alternativas atualmente, mas ter isso dentro do Excel sincronizando com o OneDrive definitivamente é uma mão na roda!

Enfim, bom proveito!

Vídeo – Usando o Selenium VBA para extrair informações da Web


Para quem está ligado aqui no blog, já passou de ser novidade o artigo sobre o Selenium VBA. Bem, como só texto não basta, agora o mesmo artigo (ou tutorial para quem preferir) está em formato de vídeo!

Obviamente, o vídeo possibilita uma dinâmica diferente de apresentação de conteúdo, por isso, explorei ao máximo essa facilidade, que vocês conferem logo abaixo:

Aproveite para se inscrever no canal para saber dos próximos vídeos.

Bom proveito!