web 2.0


Office 2010 Personalizando o Ribbon via XML (autoScale)

Todos sabemos como era difícil customizar (ou personalizar, se preferir) o Office 2007. Isso mudou bastante no Office 2010 e ficou tudo bem mais simples. Uma grande novidade nesta personalização da Faixa de Opções (também conhecida como Ribbon ou RibbonX) esta ligada a escala dos grupos.

Anteriormente, somente os grupos padrões da Faixa de Opções podiam colapsar, agora, foi introduzido o atributo autoScale o qual é utilizado para determinar se um grupo personalizado deve ou não colapsar quando reduzimos o tamanho da Faixa de Opções.

Aproveite para fazer o nosso curso de programação VBA.



Figura 1: Grupo da Faixa de Opções expandido

O grupo "Minhas Ferramentas", no momento, está expandido normalmente. Mas supondo que a configuração da tela ou do monitor seja modificada, nós obteríamos o seguinte resultado com o autoScale="true":
 


Figura 2: Grupo da Faixa de Opções colapsado

Se continuarmos reduzindo a Faixa de Opções, o grupo continua o processo, colapsando ainda mais os elementos de nosso grupo:


Figura 3: Botões colapsados para um splitButton

Para implementar esta customização / personalização da Faixa de Opções (Ribbon) basta adicionar o atributo autoScale e determinar o seu valor como sendo "true".

Note que este atributo deve ser determinado para cada grupo separadamente, ele não tem efeito global sobre os outros grupos em seu Ribbon. 

Tags: , , ,

Microsoft Office

Usando o clipboard com VBA

Dentre os recursos disponíveis no VBA podemos encontrar uma biblioteca chamada DataObjects.

trata-se de um conjunto de objetos que, dentre outras funções, podem ser usados para manipular a area de transferencia do windows.

abaixo segue os métodos basicos da area de transferencia

 

Dim dto As New DataObject

'Envia um conteudo de texto para area de transferencia
Sub EnviaParaAreaTransferencia(sText As String)
    dto.SetText sText
    dto.PutInClipboard
End Sub

'Captura conteudo da area de transferencia
Sub PegaConteudo()
    dto.GetFromClipboard
    EnviaParaAreaTransferencia "teste"
    MsgBox dto.GetText
End Sub
'Limpa a area de transferencia
Sub LimpaAreaTransferencia()
    dto.Clear
End Sub

ate a proxima...

Tags: , , , ,

Microsoft Office | VBA

Userform Builtin VBA Calendar (Calendário criado em Userform)

É de conhecimento de todos que desenvolvem que existem dois (ou ate mais)  componentes activex de calendário, o Microsoft Calendar Control e o Month View Activex Control são alguns dos exemplos, para uso em projetos VB/VBA.

Especificamento em projetos VBA, o uso desses controles implica em validações de segurança no uso de componentes externos por parte dos aplicativos Office, como o Excel por exemplo. Isso significa que não há como fugir de algumas caixas de dialogos de aviso (nem mesmo via VBA, e não ha como desativa-las facilmente).

Um exemplo tipicos dessas mensagens é a de que componentes externos estão sendo inicializados pelo Excel;

 

image

Para contornar esse tipo de situação especificamente para o MS Calendar, resolvi criar o meu proprio controle de calendário totalmente em VBA

 

 

Para usa-lo é bem simples:

  1. Crie uma varável do tipo frmCalendar
  2. Exiba o formulário (Show)
  3. Aguarde a data que será clicada.

Segue abaixo um esboço do codigo

 

Instruções de Uso
 
'Uso do Form calendar para retorno da data selecionada
Sub UsoCalendar()
  'Declarar uma variável do tipo frmCalendar
   Dim FC As frmCalendar
   Dim dtData As Date
  'Instancia
   Set FC = New frmCalendar
   'Exibi o form e aguarda o dia selecionado
   FC.Show
   'Devolve a data que foi clicado
   dtData = FC.SelectDate
   'Descarrega o form
   Unload FC
   MsgBox dtData
End Sub

Clique aqui para Baixar o arquivo

Att. Adelson RM Silva

 

Tags: , , , , ,

Microsoft Office | VBA

Renomear Arquivos

Sabe com renomear arquivos via VBA ?.

Existem algumas formas de fazer isso como por ex: via Shell Automation, WMI...

mais uma maneira bastante simples e direta, e totalmente VBA é usar a função Name

 

Ex:

Code:

Sub RenomearArquivo()

 

Name "c:\arquivo.txt" as "c:\novo_arquivo.txt"

 

End Sub

Tags: , , , , ,

Microsoft Office | VBA

Automação OLE em VBA – Parte 1

Introdução:

 

Um dos principais recursos que a linguagem Visual Basic nos fornece é o suporte à tecnonogia COM, a qual podemos usar programas “dentro” de programas por meio de suas API.

Para quem quer saber mais sobre o assunto pode conferir um ótimo artigo na Wikipedia

Component Object Model (Wikipedia)

Muitas dessas API´s estão disponíveis para uso nos aplicativos do Office por meio do VBA. Outras, no entanto, não funcionam em VBA apesar de estarem listadas na caixa de dialogo Ferramentas > Referencias.

Apresento na lista a seguir algumas das bibliotecas de objetos disponiveis, as quais podemos usar.

Biblioteca Descrição
Windows Scripting Runtime Contém objetos de manipulação do sistema de arquivos do Windows.
Ler arquivos txt, criar, excluir, listar arquivos em pasta são alguns dos seus recursos.
Microsoft Shell Controls And Automation Idem ao Scripting Runtime, porem com recursos de manipulação do Windows Explorer
Microsoft Internet Controls Usado para automatizar objetos no Internet Explorer
Windows Script Host Object Model Usado para usar os mesmos objetos que o processador de scrips do windows usa.
Com essa API é possível criar atalhos para arquivos no Windows
Windows Media Player Automatiza o Windows Media Playe
Microsoft Office [xx] Type Library Automatiza qualquer programa do Office
   

 

Nos proximos artigos apresentarei alguns macetes de como aproveitar o poder desse recurso.

Até a proxima !

Att. Adelson RM Silva

Tags: , , ,

Microsoft Office | VBA

Customizando a Ribbon no Office 2010

lá pessoal, neste primeiro artigo vou demostrar pra você um dos novos recursos que a versão 14 do Office nos oferece.

É sábido para muitos de nós que desenvolvemos para Office 2007, que para manipular os componentes da faixa de opções devemos ter conhecimentos no formato de XML para tal tarefa, ja que toda a definição dos elementos é feita diretamente no arquivo XML.

Pois bem, vejam que a Microsoft atendeu aos nossos pedidos e incorporou no Office 2010 um editor de personalização da Ribbon.

O que na versão anteriro só era possível modificar somente a barra de acesso rápido, agora podemos incluir/remover guias e grupos interativamente. E mais, é possível ainda renomear as guias padrões do Office.

Vamos lá !

 

         

 

  • Clique em Options
  • No dialogo de opções do Excel, localize e clique na categoria Customize Ribbon

  • Nessa tela temos a mesma visão que na versão 2007, porem agora temos mais cinco novos botões.
  • Para criar uma nova Guia, clique em New Tab
  • Será criada uma guia na lista logo após a guia que esta selecionada
  • Para criar um novo grupo, selecione uma guia na lista e e clique em New Group
  • Para renomar uma guia ou um grupo, selecione o item na lista e clique no botão Rename
  • Após as modificações, clique no botão OK para sair

 

       

 

A nova guia criada !

 

Conclusão

Se considerarmos o nivel de personalização que tinhamos no Office 2007, podemos dizer que ja tivemos um avanço nesse quesito pois assim podemo criar nossas proprias guias e grupo.

Mas ainda não chegou ao estagio de personalização completo como tinhamos  (e ainda temos) na versão 2003, pois, por enquanto, só é possível realizar modificações nas guias e grupos a nivel de aplicativo, ou seja, para todo o Excel. Não é possível criar botões personalizados e nem guias e grupos a nivel de documento.

Um grande abraço e até o proximo artigo.

 

[]s

 

Tags: , , , ,

Microsoft Office