Category Archives: Outlook

Office – Entendendo a utilidade do Painel de Tarefas

Desde a versão XP, ou Microsoft Office incluiu uma nova característica. Uma das mais implícitas lançadas pelo aplicativo por ser notavelmente apresentada ao usuário. O Painel de Tarefas.

O Painel de Tarefas é uma barra ou um pedaço de tela que se arranja ao lado direito da janela do Microsoft Excel quando este é aberto, conforme é visto na figura abaixo:

No Office XP ele é pouco usual, tornando-se apenas umas extensão de algumas caixas de diálogo. Já no Office 2003, o Painel de Tarefas passou de um mero coadjuvante para uma ferramenta essencial em algumas funcionalidades que serão listadas neste artigo.

Clicar na título superior desta, nos traz algumas de suas opções padrão como mostra a figura:

Abaixo segue um resumo das funcionalidades de cada uma das opções:

Ponto de Partida

Permite uma interação inicial com o Microsoft Excel. Os destaque fica por conta de um painel de pesquisa disponibilizado logo na primeira seção do Painel. Qualquer busca é feita automaticamente no Office Online, um portal de conteúdo sobre Office mantido pela Microsoft para manter sempre atualizado o conteúdo e exemplos de Excel. Logo abaixo desta seção também é colocada a lista de documentos recentemente abertos, assim como no mebu arquivo. A vantagem está no rápido acesso.

Ajuda

Esta é uma das principais mudanças notadas pelos usuários. A seção de pesquisa da ajuda é apresentada totalmente no painel de tarefas. A vantagem em relação à forma antiga é que além de não ser preciso abrir uma nova janela, a pesquisa pode ser categorizada e também é integrada ao Office Online.

Resultados da Pesquisa

Como resultado da maior parte das pesquisas, desde exemplos até no help, tudo é mostrado neste página. O resultado é mostrado em forma de lista, sendo o texto principal um resumo do recurso encontrado associado a um link. Esse link direciona para este conteúdo, esteja ele localmente ou na Internet. Para ajudar a orientar o usuário, logo abaixo do link é mostrada a categoria ou local onde o recurso reside.

Clip-art

Toda a busca por Cliparts no Office agora é feito pelo Painel de Tarefas. A pesquisa também foi bastante melhorada, permitindo pesquisar em coleções específicas, além de poder efetuar buscas também no reposítório do Office Online. Também ficou mais fácil arrastar e soltar as figuras pois como o painel e a planilha estão sempre visíveis, fica fácil atingir a área desejada, sem precisar jogá-la em qualquer ligar para depois arrumar.

Pesquisar

Este Painel de Pesquisa vai além do que a Ajuda oferece. É uma espécie de buscador de internet integrado ao Office, como o Google ou o MSN Search. Abaixo segue uma figura com as opções padrão disponíveis:

É possível efetuar buscas por tradução de texto, sinônimos e também de negócios específicos. A busca também pode trazer como resultado serviços do Office Market Place. Também é possível personalizar estas opções clicando no link Opções de pesquisa no rodapé do painel:

Área de tranferência

O Office desde a versão XP já possibilitava um controle maior da área de transferência. Todo este controle é feito agora pelo painel de tarefas. Além de armazenar os últimos 24 itens copiados, permite excluir determinado item, limpar a área de transferência, colar todos os itens contidos nesta, compartilhar a área entre os aplicativos do Office e também configurar o momente de sua aparição, até mesmo para não aparecer nunca.

Nova Pasta de Trabalho

Substitui a tradicional janela de novo arquivo, acessível pelo menu Arquivo->Novo. Da mesma forma como a maioria dos outros paineis, além de trazer recursos locais, também integra o Office Online, podendo consultar e utilizar modelos de planilha online e também no ambiente de rede.

Espaço de Trabalho Compartilhado

Este recurso disponibiliza integração entre os usuários de um domínio Windows Server com o recurso Sharepoint Server compartilhar e controlar a criação e edição de documentos. Além do compartilhamento, o recurso permite abrir um espaço de trabalho, definir tarefas que serão compartilhadas, atualizar automaticamente o documento neste espaço, versionar o documento entre outras coisa. Não convém aprofundar neste recurso, a não ser que o ambiente onde esteja trabalhando esteja integrado o Sharepoint, o normalmente ocorre em um ambiente coorporativo.

Atualizações do Documento

Trabalha integrado ao painel Espaço de Trabalho Compartilhado. Ele mostra o histórico de atualizações do documento com detalhes a respeito das modificações feitas.

Código-fonte XML

Como novidade da versão 2003, o mapeamento dos arquivos XML utiliza o painel de tarefas para disponibilizar as nós que contém dados para serem inseridos na planilha, em um esquema muito parecido com as tabelas dinâmicas. Um arquivo XML mapeado pode ser visto na figura abaixo:

Note que o Excel obedece a hieraquia dos itens contidos no XML.

Após a breve explicação de cada um destes itens, é pertinente definir alguns termos que foram mencionados. Um deles é o Office MarketPlace.

O Office Marketplace é uma exposição de produtos e serviços que funcionam com o Office. São suplementos e serviços de internet que funcionam integrados ao Office. O Office Marketplace reune desde serviços profissionais a tarefas do dia-a-dia. É possível também colaborar, tendo obras publicadas neste site. Diversas empresas especializadas em Microsoft Office tem trabalhos publicados para demonstrar o potencial das ferramentas do Office.

O Office Online é o site oficial da Microsoft para o produto Microsoft Office. Nele a empresa disponibiliza todo tipo de recurso, informação e exemplos, buscando aumentar a produtividade com o uso da ferramenta. Todo o conteúdo dos programas da família Office integram suas buscas com o Office Online.
Documentos Inteligentes
Juntamente com o compartilhamento de documentos e planilhas integrados ao SharePoint e as Marcas Inteligentes, este pode ser considerado um dos recursos mais valiosos incorporados no Microsoft Office 2003, principalmente para as empresas que mantém seus processos de negócio interagindo com estes documentos. Os tecnologia dos documentos inteligentes permitem aos desenvolvedores de sistemas um nível de automação que dipõem ao usuário uma forma de interagir com os sistemas da empresa de dentro de um documento Word ou planilha de Excel de forma clara e transparente. Isso já era possível com o VBA, porém, os documentos inteligentes não dependem deste tipo de tecnologia, fazendo uso de técnicas avançadas de programação, permitindo mapear um documento de tal forma que o painel de tarefas muda todo seu conteúdo dependendo de em que parte do documento você esteja navegando.
Por exemplo, se você estiver em uma área da planilha em que seja necessáro inserir os dados de um cliente, é possível pela programação de documentos inteligentes que, ao navegar por esta área, o painel de tarefas mostre todas as informações a respeito de todos os clientes da empresa ou daquele determinado cliente já informado na planilha. Se em outra parte da planilha você tivesse uma lista de produtos e quisesse saber mais detalhes sobre cada um deles, através da mesma tecnologia seria possível que ao navegar pela lista de produtos, fossem mostradas todas as informações daquele produto como marca, preço ou até mesmo a foto do produto. Também é possível inserir qualquer informação contida no painel de tarefas dentro da planilha.
Para o usuário final, todo este processo é transparente, não importando de onde vem a informação, podendo ser um banco de dados, um site, um sistema comercial da empresa ou até mesmo um serviço web.
Infelizmente este tipo de programação não é possível por meio de código VBA, ficando este desenvolvimento restrito a linguagens de mais alto-nível como Visual Basic.NET, Visual C# e Visual C++. Para estes, o meio padrão disponibilizado para interação com o usuário é o painel de tarefas.

Conclusão

Fica claro ao ver a quantidade de recursos disponibilizada pelo Painel de Tarefas que este deixa de ser apenas uma janela lateral que insiste em conquistar o usuário para se transformar num dos caminhos mais fáceis para interagir com os novos recursos adicionados na ferramenta Office. Com prática e curiosidade, facilmente o Painel de Tarefas passa a ser um poderoso e indispensável aliado para os trabalhos do dia-a-dia no Microsoft Excel.

VBA – Listando as impressoras instaladas no computador

O VBA é uma linguagem de automação poderosa. Porém, apesar de herdar as características no Visua Basic tradicional, não goza de todas as suas vantagens. Muitas coisas acabam precisando ser feitas na não.

O código abaixo permite listas as impressoras listas no computador, fazendo a função da coleção Printers existente no VB tradicional:

Option Explicit
 
Const PRINTER_ENUM_CONNECTIONS = &H4
Const PRINTER_ENUM_LOCAL = &H2
 
Private Declare Function EnumPrinters Lib "winspool.drv" Alias "EnumPrintersA" _
                                      (ByVal flags As Long, ByVal name As String, ByVal Level As Long, _
                                       pPrinterEnum As Long, ByVal cdBuf As Long, pcbNeeded As Long, _
                                       pcReturned As Long) As Long
 
Private Declare Function PtrToStr Lib "kernel32" Alias "lstrcpyA" _
                                  (ByVal RetVal As String, ByVal Ptr As Long) As Long
 
Private Declare Function StrLen Lib "kernel32" Alias "lstrlenA" _
                                (ByVal Ptr As Long) As Long
 
 
Public Function ListPrinters() As Variant
 
    Dim bSuccess As Boolean
    Dim iBufferRequired As Long
    Dim iBufferSize As Long
    Dim iBuffer() As Long
    Dim iEntries As Long
    Dim iIndex As Long
    Dim strPrinterName As String
    Dim iDummy As Long
    Dim iDriverBuffer() As Long
    Dim StrPrinters() As String
 
    iBufferSize = 3072
 
    ReDim iBuffer((iBufferSize \ 4) - 1) As Long
 
    'A função EnumPrinters retornará falso casa a fila de impressão estiver muito cheia
    bSuccess = EnumPrinters(PRINTER_ENUM_CONNECTIONS Or _
                            PRINTER_ENUM_LOCAL, vbNullString, _
                            1, iBuffer(0), iBufferSize, iBufferRequired, iEntries)
 
    If Not bSuccess Then
        If iBufferRequired > iBufferSize Then
            iBufferSize = iBufferRequired
            Debug.Print "iBuffer too small. Trying again with "; _
                        iBufferSize & " bytes."
            ReDim iBuffer(iBufferSize \ 4) As Long
        End If
 
        'Tentar chamar a função novamente
        bSuccess = EnumPrinters(PRINTER_ENUM_CONNECTIONS Or _
                                PRINTER_ENUM_LOCAL, vbNullString, _
                                1, iBuffer(0), iBufferSize, iBufferRequired, iEntries)
    End If
 
    If Not bSuccess Then
        'Mostra mensagem em caso de erro na chamada da EnumPrinters
        MsgBox "Error enumerating printers."
        Exit Function
    Else
        'Caso EnumPrinters retorne True, preenche o array com as impressoras
        ReDim StrPrinters(iEntries - 1)
        For iIndex = 0 To iEntries - 1
            'Pega o nome da impressora
            strPrinterName = Space$(StrLen(iBuffer(iIndex * 4 + 2)))
            iDummy = PtrToStr(strPrinterName, iBuffer(iIndex * 4 + 2))
            StrPrinters(iIndex) = strPrinterName
        Next iIndex
    End If
 
    ListPrinters = StrPrinters
 
End Function
 
Public Function IsBounded(vArray As Variant) As Boolean
    'Se a variável passada é um array, retorna True, do contrário, False
    On Error Resume Next
    IsBounded = IsNumeric(UBound(vArray))
End Function

Créditos

Autor do código: Astrid Zeelenberg
http://word.mvps.org/FAQs/MacrosVBA/AvailablePrinters.htm
Adaptado por Tomás Vásquez

Download do exemplo

ListarImpressoras.zip

VBA – A Instrução GoTo

O que é?

É um desvio incondicional para uma linha especificada dentro de uma função VBA.

Estrutura

GoTo [label]

O argumento [label] obrigatório pode ser qualquer rótulo de linha ou número de linha.
rótulo de linha

Utilizado para identificar uma única linha de código. Um rótulo de linha pode ser qualquer combinação de caracteres que inicie com uma letra e termine com dois-pontos (:). Os rótulos de linha não diferenciam maiúsculas de minúsculas e devem iniciar na primeira coluna.
número de linha

Utilizado para identificar uma única linha de código. Um número de linha pode ser qualquer combinação de dígitos que seja exclusiva dentro do módulo no qual é utilizado. Os números de linha devem iniciar na primeira coluna.

Exemplo

Abaixo segue um trecho de código que refleto o uso do Goto:

1
2
3
4
5
6
7
8
9
10
11
12
Public Sub TesteGoto()
    MsgBox "Inicio da função"
    GoTo Rotulo2
Rotulo1:
    MsgBox "Executando Rotulo1"
    GoTo Saida
Rotulo2:
    MsgBox "Executando Rotulo2"
    GoTo Rotulo1
Saida:
    MsgBox "Fim da função"
End Sub

O código acima mostra mensagens em uma sequência definida pela instrução Goto. A instrução não obedece nenhum critério, mesmo sendo executada de dentro uma estrutura condicional (If…Else) ou de repetição (While, For, For Each), fazendo desvio conforme informado. Neste caso, a instrução segue a sequência de execução normalmente até a linha 4, quando é desviada para o Rotulo2 na linha 9, que executa até a linha 11 que desvia a execução para o Rotulo1 na linha 6, que por fim executa até a instrução na linha 8 e quando é desviada para o Saida na linha 12, seguindo a execução até o fim da função.

Veja este outrou exemplo de código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Public Sub TesteGoto2()
 
    MsgBox "Inicio da função"
    GoTo Saida
 
    MsgBox "Conteúdo da função"
    MsgBox "Conteúdo da função"
    MsgBox "Conteúdo da função"
    MsgBox "Conteúdo da função"
    MsgBox "Conteúdo da função"
    MsgBox "Conteúdo da função"
    MsgBox "Conteúdo da função"
    MsgBox "Conteúdo da função"
 
Saida:
    MsgBox "Fim da função"
End Sub

Neste caso, por conta do desvio na linha 4 para o rotulo Saida na linha 15, todas as instruções das linhas 5 a 14 nunca serão executadas.

Comentários

GoTo pode desviar somente para linhas de dentro da função em que é colocado.

Observação Excesso de instruções GoTo pode tornar difícil a leitura e depuração do código. Sempre que possível, use instruções de controle estruturado (Do…Loop, For…Next, If…Then…Else, Select Case).

Office – Dicas para acelerar o Microsoft Outlook

Office - Dicas para acelerar o Microsoft Outlook

Um conjunto de regras bacanas para deixar o programa de  email da Microsoft:

A máquina que você usa no escritório não é nenhuma maravilha. O webmail do seu e-mail profissional é tosco, te faz lembrar de 1997. Só que você precisa usar o Outlook o dia todo. Tem jeito de se livrar da lentidão? Então como faz?

Várias configurações do Outlook podem drenar preciosos fiapos de memória. A seguir, três dicas simples para deixar o cliente de e-mail da Microsoft menos pesado.

*Desatolar a Caixa de entrada*
O Outlook pode iniciar mais rápido se a sua Caixa de Entrada tiver menos mensagens. Clique em Arquivo, depois em Novo e, lá no final da lista de opções, em Arquivo de Dados do Outlook. Depois basta seguir as instruções para dar nome e definir onde os e-mails serão guardados. Dá até para proteger o acesso desse arquivo com senha.

Com o arquivo PST, você mantém mensagens antigas salvas em um documento separado, que não é carregado no início do programa. Esse truque é útil também se você trabalha em uma empresa que oferece pouco espaço de armazenamento para suas mensagens. Armazenar as mensagens localmente

*Desabilitar Add-ons*
No menu Ferramentas, clique em Central de Confiabilidade. A janela mostrará uma série de recursos obscuros presentes no Outlook. Clique na opção Suplementos.
Você verá uma lista com uma série de add-ons que nem sempre são úteis, mas que sempre são carregados.

Para dar cabo deles, clique no botão “Ir” que fica no rodapé da janela. Ele mostrará as categorias de acessórios e os itens habilitados em cada um delas. Daí para frente é só entrar e remover add-ons que não estão sendo usados. Há, por exemplo, um tal de “Serviço Móvel do Outlook” que supostamente manda SMS para celulares.
Nunca usei. Acho que nunca vou usar. Então, desabilitei.

*Apelar para a versão light*
Se você usa o Outlook apenas para receber e enviar mensagens, apele para a “modo de segurança” do programa. Achar esse Outlook Light é fácil. Vá ao menu Iniciar, clique no Executar e, na caixinha que aparece, digite apenas Outlook /safe. Essa função foi desenhada para que o programa seja aberto mesmo quando há algum erro grave de execução. Mas também serve para usar uma versão mais enxuta e com menor gasto de memória.

*Desabilite o Instant Messaging*
Para fazer isto, vá em:

  • Ferramentas->Opções
  • Acione a aba “Outras”
  • desmaque a opção “exibir status online junto ao nome de uma pessoa”.

*Limpe as pastas*
O Outlook 2007 inclui outra opção para reduzir o tamanho dos .pst. Vá em Ferramentas, Limpar Caixa de Correio e clique no botão Exibir Tamanho da Caixa de Correio. Você verá uma tela como essa abaixo.

Microsoft Outlook - Conferindo o tamanho das pastas

Haverá uma lista de pastas, juntamente com o tamanho total de casa pasta. Isso irá lhe dizer de onde você poderá tirar o maior proveito limpando e-mails. Quando identificar as maiores pastas, volte para a tela principal do Outlook e vasculhe-as com prioridade, buscando e deletando e-mails e anexos desnecessários.

Depois de ter usado essas técnicas para apagar anexos e e-mails, é hora de compactar seu arquivo .pst. Normalmente, quando você apaga arquivos, fica um espaço vazio no seu .pst que ainda ocupa bytes preciosos.

Fazer essa compactação elimina esses vazios, diminuindo o tamanho total do arquivo. Para isso, vá em Arquivo, Gerenciamento de Arquivos de Dados e clique duas vezes na entrada Pastas Particulares. Depois clique em Compactar agora.

Agora certifique-se de que seu Outlook possui os patches mais recentes, via Windows Update. Há uma atualização em particular que é importante caso você tenha arquivos .pst grandes: Update para Outlook 2007 (KB933493). O patch foi projetado para acelerar o Outlook quando estiver usando .pst consideráveis.

Fonte: INFO, PC World