Arquivo da categoria: Microsoft Office

Dicas sobre aplicativos Microsoft Office em geral

Word – Cabeçalho e Rodapé em diferentes páginas

Uma pausa no Excel para falar um pouco de Word. Porque não?

Já precisou inserir diferentes cabeçalhos e rodapés em diferentes páginas no Word? Parece complicado, mas é mais simples do que imagina. Confira!

Acesse também

BLOG ► https://www.tomasvasquez.com.br/blog/
FÓRUM ► http://www.tomasvasquez.com.br/forum/
CURSO ONLINE DE C# ► http://www.tomasvasquez.com.br/cursocsharp

Aqui também!

FACEBOOK ► https://www.facebook.com/tomasvaquezsites
TWITTER ► https://twitter.com/tomamais
GOOGLE+ ► https://plus.google.com/+TomasvasquezBr/

Roteiro, apresentação, edição, etc, etc ► eu mesmo 🙂

VBA e VB.NET – Um comparativo (injusto)

E eis o primeiro vídeo da série! Vamos ver o que o .NET tem de bom, principalmente quando se trata de ListView… ou melhor, DataGridView 🙂

Arquivos utilizados no vídeo ► http://www.tomasvasquez.com.br/forum/…

Download do Visual Studio Community ► https://www.visualstudio.com/vs/older…

Entrevista Karen Abecia (RubberDuck) ► https://www.youtube.com/watch?v=7IE9w…

Acesse também

BLOG ► https://www.tomasvasquez.com.br/blog/
FÓRUM ► http://www.tomasvasquez.com.br/forum/
CURSO ONLINE DE C# ► http://www.tomasvasquez.com.br/cursoc…

Aqui também!

FACEBOOK ► https://www.facebook.com/tomasvaquezs…
TWITTER ► https://twitter.com/tomamais
GOOGLE+ ► https://plus.google.com/+TomasvasquezBr/

Roteiro, apresentação, edição, etc, etc ► eu mesmo 🙂

VBA – Verificar se impressora padrão está desligada

Mais uma obra do nosso fórum. Numa discussão pra lá de produtiva, os usuários TARSA e Basole postaram dois blocos de código que permite pelo VBA obter o status da impressora padrão do computador. Tem para todos os gostos, sendo uma UDF e uma macro mais tradicional:

Versão TARSA:

Public Function PrinterOffline(Optional pstrPrinter As String = "Default") As Boolean
	Dim strWhere As String
	Dim objWMI As Object
	Dim objPrinters As Object
	Dim objPrinter As Object
 
	Set objWMI = GetObject("winmgmts:\\.\root\CIMV2")
	If LCase$(pstrPrinter) = "default" Then
		strWhere = "Default = True"
	Else
		strWhere = "Name = '" & pstrPrinter & "'"
	End If
	Set objPrinters = objWMI.ExecQuery("SELECT * FROM Win32_Printer WHERE " & strWhere)
	For Each objPrinter In objPrinters
		PrinterOffline = objPrinter.WorkOffline
		Exit For
	Next
	Set objPrinter = Nothing
	Set objPrinters = Nothing
	Set objWMI = Nothing
End Function

Versão Basole:

Sub Check_Printer_Status()
    Dim strComputer As String
    Dim objWMIService
    Dim colInstalledPrinters
    Dim objPrinter
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
                                  & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colInstalledPrinters = objWMIService.ExecQuery _
                               ("Select * from Win32_Printer where Default = 'True'")
 
    For Each objPrinter In colInstalledPrinters
        Select Case objPrinter.printerstatus
        Case 3
            MsgBox "A impressora está ociosa"
        Case 4
            MsgBox "Impressora esta imprimindo"
        Case 5
            MsgBox "A impressora está aquecendo"
        Case Else
            MsgBox "A impressora está desativada"
        End Select
    Next
End Sub

Indo mais no detalhe, caso haja interesse, o código está fazendo uso do WMI (Windows Management Instrumentation), utilizado não só gerenciar para impressoras mas também todo o hardware do computador. O mais curioso é que você usa sintaxe SQL para fazer as consultas às informações do hardware. Um prato cheio para quem conhece. 🙂

O link do post: http://www.tomasvasquez.com.br/forum/viewtopic.php?f=20&t=5428

Valeu pessoal! São vocês é que fazem o fórum ser o que ele é!

Selenium VBA – Como extrair dados de frames

Pois é, Selenium, olha ele aqui de novo. Fazer o quê? Nos o amamos! 🙂

Eis mais uma dúvida que assola o pessoal que se aventura a brincar com Selenium e dá de cara com sites pra lá de complicados. E claro, quando aparecem os frames… bem, sorte sua! No vídeo abaixo demonstro como fazer para extrair os dados de um site com frames, no caso, meu antigo site (muita vergonha aqui).

Confira o vídeo e logo abaixo o código utilizado:

Public Sub ObterDadosDoMeuSiteAntigo()
    Dim driver As New ChromeDriver
 
    driver.Get "http://www.tomasvasquez.com.br/_index.htm"
 
    Debug.Print "Frames encontrados no documento pai: " & driver.FindElementsByTag("frame").Count
 
    Call driver.SwitchToFrame("principal")
 
    Debug.Print "Frames encontrados no frame principal: " & driver.FindElementsByTag("frame").Count
 
    Dim itens As WebElements, item As WebElement
    Set itens = driver.FindElementsByTag("li")
 
    Debug.Print "Itens encontrados:"
    For Each item In itens
        Debug.Print item.Text
    Next item
 
    driver.SwitchToDefaultContent
 
    Debug.Print "Frames encontrados no documento pai: " & driver.FindElementsByTag("frame").Count
 
    driver.Quit
End Sub