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.

C# – Como remover tags HTML/XML de uma String

Essa valeu de tão simples.

Na necessidade de precisar limpar as tags HTML de uma string para apresenta-la em um local que não um browser ou componente que pudesse interpretá-lo, precisei construir uma rotina para a tarefa. Como de costume, programador pensa sempre na solução mais difícil. Mas depois de um pouco de preguiça saudável, não foi complicado decidir que através de uma simples Regular Expression o trabalho poderia ser feito facilmente. Antes mesmo de precisar queimar neurônios pensando em uma, resolvi garimpar no um pouco na Web. Em poucos segundos, o resultado era o código abaixo:

public string Strip(string text)
{
    return Regex.Replace(text, @”<(.|\n)*?>”, string.Empty);
}

O autor da proeza é Ali Raza.

Bom proveito!

VBA – Listar Arquivos de um diretório

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 chamada 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 – Localizar dados em várias planilhas no Excel

busca-blog[1]

O recurso Localizar do Excel (mais conhecido com Ctrl+L entre os veteranos da versão PT-BR) é um dos itens desse poderoso canivete suíço que é a ferramenta.

O inconveniente é que não temos tão facilmente o recurso funcionando da mesma forma pelo VBA. Mesmo que gravemos uma macro utilizando o recurso Localizar, caso a executemos sem que haja um resultado válido para a busca, ele retorna em erro. O motivo é que, no final da macro gravada termina com um .Select, pois a célula com o resultado da busca é ativada quando esta se encerra. Portanto, sem resultado, o erro persiste.

A macro abaixo faz o mesmo papel do busca, porém, prevendo o mau comportamento da macro gravada. Além disso, caso encontre um resultado, ela oferece a continuidade da busca:

Sub Procura()
    'Declara uma strign que vai receber o valor a ser procurado na planilha
    Dim procurado As String
    'Declara uma variável para receber o resultado de um MsgBox
    Dim result As VbMsgBoxResult
    'Declara duas variáveis do tipo inteiro
    'i -> Para controlar o laço de repetição
    'QuantPlanilhas -> para armazenar a quantidade de planilhas da pasta de trabalho atual
    Dim i, QuantPlanilhas As Integer
    'Atribui a quantidade de planilhas da pasta atual à variável QuantPlanilhas
    'O método ThisWorkbook.Worksheets.Count retorna esse parâmetro
    QuantPlanilhas = ThisWorkbook.Worksheets.Count
    'Mostra um InputBox para que seja inserido o dado que será procurado em todas a
    'Pasta de trabalho e atribui seu valor à variávle procurado
    procurado = InputBox("Digite o valor a ser procurado", "Valor procurado", "Exemplo, 2, 3, uma data qualquer")
    'Inicia o laço de repetição que varre todas as planilhas da pasta de trabalho atual
    For i = 1 To QuantPlanilhas Step 1
        'Seleciona toda a área da planilha
        With Worksheets(i).Range("A:IV")
            'Efetua o método de busca, que retorna o valor se for encontrado ou
            'Nothing caso não encontre nada
            Set c = .Find(procurado, LookIn:=xlValues)
            'Caso tenha achado algo, ativa a célula onde está o valor procurado
            'e oferece para o usuário se quer ou não continuar a busca
            If Not c Is Nothing Then
                Worksheets(i).Select
                Range(c.Address).Select
                result = MsgBox("Deseja continuar a busca?", vbYesNo, "Continuar?")
                'Caso queira, continua a busca, caso contrário, sai do laço
                If result = vbNo Then
                    Exit Sub
                End If
            End If
        End With
    Next
End Sub

Basta executar para observar o resultado.
Bom proveito!