Archive for the 'Access' Category

Office – Área útil maior nas telas do Office

janeiro 15th, 2010 by Tomás Vásquez

Fonte: INFO

Minimize a Faixa de Opções e ganhe espaço extra para trabalhar com documentos, planilhas e apresentações

Para trabalhar bem, nada melhor do que ter espaço. Se você quiser aumentar a área útil na tela do seu computador nos programas do Office, clique no botão Personalizar e selecione Minimizar a Faixa de Opções. É o que basta para que desapareçam. Para operar com uma faixa de opções, clique em seu título. Para voltar a exibir a faixa de opções, clique novamente em Personalizar e desmarque o comando Minimizar ou, então, ganhe tempo e use um duplo clique em qualquer uma das guias.

Do autor

A dica é básica, mas vale muito a pena principalmente com a chegada dos netbooks, cujas telas são de tamanho bem reduzido e as barras de ferramenta podem ser um tormento na hora de realizar os trabalhos.

Bom proveito!

Office – Entendendo a utilidade do Painel de Tarefas

dezembro 22nd, 2009 by Tomás Vásquez

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 – Listar Arquivos de um diretório

dezembro 16th, 2009 by Tomás Vásquez

Mais uma para a caixa de ferramentas de VBA. A macro abaixo retorna um Array de String com a lista de nomes dos arquivos contidos na pasta informada:

Public Function ListaArquivos(ByVal Caminho As String) As String()
    'Atenção: Faça referência à biblioteca Micrsoft Scripting Runtime
    Dim FSO As New FileSystemObject
    Dim result() As String
    Dim Pasta As Folder
    Dim Arquivo As File
    Dim Indice As Long
 
 
    ReDim result(0) As String
    If FSO.FolderExists(Caminho) Then
        Set Pasta = FSO.GetFolder(Caminho)
 
        For Each Arquivo In Pasta.Files
            Indice = IIf(result(0) = "", 0, Indice + 1)
            ReDim Preserve result(Indice) As String
            result(Indice) = Arquivo.Name
        Next
    End If
 
    ListaArquivos = result
ErrHandler:
    Set FSO = Nothing
    Set Pasta = Nothing
    Set Arquivo = Nothing
End Function

A macro abaixo é um exemplo de chamanda a função acima, listando os arquivos da pasta C:\temp, como informado no código.

Private Sub ListaArquivos()
    Dim arquivos() As String
    Dim lCtr As Long
    arquivos = ListaArquivos("C:\temp")
    For lCtr = 0 To UBound(arquivos)
      Debug.Print arquivos(lCtr)
    Next
End Sub

Importante: Faça referência à biblioteca Micrsoft Scripting Runtime para ter acesso aos objetos da File System Object (FSO), necessários para execução do exemplo.

Bom proveito!

VBA – Otimizando a entrada de dados com o InputBox

novembro 30th, 2009 by Tomás Vásquez

Em várias situações do dia a dia, precisamos coletar informações dos usuários para o correto funcionamento de nossas planilhas.

Isso normalmente é feito através de células evidenciadas através de formatação e outros recursos visuais. É possível até forçar a validação do valores de entrada, mas mesmo assim, não temos a garantia de que as informações foram coletadas. Para estas situações, o VBA disponibiliza uma função simples e muito eficaz, a função InputBox.

Com uma chamada simples, uma caixa de diálogo é mostrada ao usuário, disponibilizando também um caixa de texto para que este digite um valor de entrada.

Para simular o uso da função InputBox, imagine que você possui uma lista produtos cujos valores se baseiam na cotação do dólar do dia. O valor da cotação do dólar precisa ser informado, ou os cálculos não irão refletir os valores corretos dos produtos, podendo causar muitos problemas.

A idéia é tentar forçar com que o usuário insira o valor da cotação do dólar antes de efetuar qualquer operação na planilha. Porque não fazê-lo no momente em que este abre a pasta de trabalho? Para possibilitar isso, abra um novo arquivo do Microsoft Excel. Acione o VBA clicando em Ferramentas->Macros->Editor do Visual Basic ou clicando o atalho Alt+F11. A janela do VBA será mostrada conforme abaixo:

Janela de Projeto VBA

O que faremos é capturar o evento que é disparado quando uma pasta de trabalho é aberta. Para isso, dentro do VBA, na janela de Projeto, procure o item EstaPata_de_trabalho e clique duas vezes sobre ele para abrir a tela de código:

Janela de Projeto VBA

Com a tela de código aberta, logo acima da tela de código, existem duas caixas de seleção. Clique na caixa da esquerda e selecione o item Workbook:

Janela de Projeto VBA - Selecionando o objeto e o evento

Ao fazer isso, o código do evento que é disparado ao abrir a pasta de trabalho de nome Workbook_Open é criado conforme a seguir:

1
2
3
Private Sub Workbook_Open()
 
End Sub

É dentro deste código que trabalharemos com o InputBox. Como tudo o que estiver neleé executado quando o arquivo é aberto, vamos solicitar que o usuário que digite o valor da cotação do dólar no InputBox e colocar este valor em uma determinada célula. Supondo que a célula que contém o valor da cotação seja a célula A1 da Plan1, o código seria o seguinte

1
2
3
4
5
6
7
Private Sub Workbook_Open()
    Dim cotacao As String
 
    cotacao = InputBox("Digite a cotação do dólar do dia: ", "Cotação", "2,00")
 
    ThisWorkbook.Worksheets("Plan1").Range("A1").Value = cotacao
End Sub

O código declara uma variável na linha 2 que armazenará o valor da cotação informado pelo usuário. Ela precisa ser uma String pois é o tipo de retorno do InputBox. Em seguida, o valor da cotação é solicitado através do InputBox na linha 4 e armazenada na variável cotação. O resultado é colocado na célula A1 da planilha Plan1 na linha 6.

Execute o procedimento clicando em F5 ou fechando a planilha e abrindo-a novamente (lembre-se de ativar as macros). Veja o resultado:

InputBox em funcionamento

Clique em OK e veja o valor inserido na célula A1 da planilha Plan1:

A planilha com o valor digitado no InputBox

Com isso, temos o valor informado pelo usuário colocado em uma célula desejada. Tudo isso ocorre normalmente, se tudo for feito de forma correta pelo usuário

Porém, no código acima, temos dois problemas. O primeiro é, caso o usuário não informe um valor clicando no botão cancelar, o aplicativo retornará um erro. O segundo é, se a célula não estiver implicitamente configurada para valores numéricos, ela considerará o conteúdo no formato texto, que é o tipo padrão da variável cotacao. Tentaremos resolver os dois problemas de uma vez. Veja o código abaixo:

1
2
3
4
5
6
7
8
9
Private Sub Workbook_Open()
    Dim cotacao As String
 
    While cotacao = ""
        cotacao = InputBox("Digite a cotação do dólar do dia: ", "Cotação", "2,00")
    Wend
 
    ThisWorkbook.Worksheets("Plan1").Range("A1").Value = CDbl(cotacao)
End Sub

As mudanças feitas no código tratam o problema da seguinte maneira:

Na linha 4 a 6, a chamada do InputBox foi colocada dentro de um loop While com a condição de, caso a variável cotacao esta com o valor “”, ou seja, vazia, o que significa que o usuário clicou no botão cancelar, ele voltará a chamar o InputBox e isso acontecerá até que ele insira um valor e clique em OK. Na linha 8, ao invés de atribuir diretamente a variável cotacao à célula, usa-se a função CDbl() que força a conversão da variável passada por parâmetro para o tipo numérico Double.

Isso faz com que o valor seja passado com o formato numérico diretamente para a célula.

Execute o procedimento clicando em F5 ou fechando a planilha e abrindo-a novamente (lembre-se de ativar as macros). Ao aparecer a caixa de diálogo, tente clicar no botão Cancelar e veja o que acontece.

Conclusão

É possível melhorar mais ainda a inclusão de valores, fazendo verificações com funções de validação de tipo como foi o caso da CDbl(), usada neste artigo. Assim, o InputBox torna-se uma alternativa muito elegante para coletar dados do usuário.