| Alguma Dúvida Sobre os Cursos ? Fale Com o Autor | Indique Este Site | Fórum de Discussão |
|
|||||||
|
|
|
O Microsoft Excel 2010, o VBA (Visual Basic for Applications), trouxe recursos de linguagem para ambientes de 32 bits e 64 bits. Por padrão, o Office 2010 instala a versão de 32 bits, mas você pode escolher para instalar a versão de 64 bits. Se você instalar a versão 64 Bits e executar macros criadas até o Excel 2007 com certeza ocorrerá erro, porque até a versão 2007 só existia plataforma de 32 Bits. Esse erros só ocorrerão em aplicativos que utilizarem as Blibliotecas APIS. Se você optar em instalar o Excel de 64 bits e for utilizar algum aplicativo ou planilha de nosso portal , e essa planilha recorrer às APIS, elas podem não funcionar, pois precisará ser feito as adaptações e isso requererá algum tempo!
A Microsoft inseriu novas bibliotecas nas APIS: Tipo LongPtr O tipo de dados real que LongPtr resolve depende da versão do Office que está sendo executado . LongPtr resolve Long em 32-bit versões do Office e LongPtr resolve LONGLONG em versões de 64 bits do Office. Use LongPtr para ponteiros e alças.
Tipo LONGLONG O tipo de dados LONGLONG é um inteiro assinado de 64 bits que só está disponível em versões de 64 bits do Office. Use LONGLONG para integrais de 64 bits. As funções de conversão deve ser usado para atribuir explicitamente LONGLONG (incluindo LongPtr em plataformas de 64 bits) para menores tipos integrais. As conversões implícitas de LONGLONG integrais para menores não são permitidos.
Tipo PtrSafe A palavra-chave PtrSafe afirma que uma instrução Declare é seguro para ser executado em versões de 64 bits do Office. Todas as instruções de declaração têm agora de incluir a palavra-chave PtrSafe quando rodando em 64-bit versões do Office. É importante entender que simplesmente adicionar a palavra-chave PtrSafe a uma instrução Declare significa apenas a instrução Declare explicitamente metas de 64 bits, todos os tipos de dados dentro da declaração de que precisa para armazenar 64 bits (incluindo os valores de retorno e parâmetros) ainda deve ser modificado para manter as quantidades de 64 bits. Instruções Declare com a palavra-chave PtrSafe é a sintaxe recomendada. Instruções Declare que incluem PtrSafe funcionar corretamente no ambiente de desenvolvimento VBA7 tanto em 32 bits e plataformas de 64 bits. Para garantir a compatibilidade em VBA7 e anteriores usar a seguinte construção:
Considere os exemplos a seguinte instrução Declare. Executando a instrução Declare não modificado em versões de 64 bits do Office irá resultar em um erro indicando a instrução Declare não inclui o qualificador PtrSafe. A modificação exemplo VBA contém o qualificador PtrSafe, mas note que o valor de retorno (um ponteiro para a janela ativa) retorna um tipo de dados Long. No Office 64 bits, isso é incorreto, porque o ponteiro precisa ser 64-bits. O qualificador PtrSafe informa o compilador a instrução Declare é alvo de 64-bits, de modo a declaração do executado sem erros. Mas porque o valor de retorno não foi atualizado para um tipo de dados de 64 bits, o valor de retorno é truncado, resultando em um valor incorreto retornado.
Para reiterar, é necessário modificar a instrução Declare para incluir o qualificador PtrSafe e você deve atualizar todas as variáveis dentro da afirmação de que precisa para manter as quantidades de 64 bits para que as variáveis usam tipos de dados de 64 bits. VBA exemplo de instrução Declare modificado para incluir a palavra-chave PtrSafe e atualizadas para o uso adequado de 64 bits (LongPtr) Tipo de dados:
Em resumo, para o código para trabalhar em versões de 64 bits do Office, você precisa localizar e modificar todas as instruções existentes Declare usar o qualificador PtrSafe. E você precisa localizar e modificar todos os tipos de dados dentro destas instruções Declare que fazem referência a alças ou ponteiros para usar o novo alias de 64 bits compatíveis com o tipo LongPtr, e tipos que precisa segurar integrais de 64 bits com o novo tipo de dados LONGLONG. Além disso, você deve atualizar quaisquer tipos definidos pelo usuário (UDTs) que contêm ponteiros ou os punhos, e integrais de 64 bits para usar tipos de dados 64-bit e verificar todas as atribuições de variáveis estão corretas para evitar erros de incompatibilidade de tipo. Escrever código que funciona tanto em 32 bits e 64 bits do Excel: Para escrever código que pode porta entre os dois de 32 bits e 64-bit versões do Office que você só precisa usar o novo tipo de alias LongPtr vez de Longo ou LONGLONG para todos os ponteiros e manipular valores. O alias tipo LongPtr vai resolver para o longo ou o tipo correto de dados LONGLONG dependendo de qual versão do Office está em execução. Note que se você precisar de outra lógica para executar, por exemplo, que você precisa para manipular valores de 64 bits em grandes projetos do Microsoft Excel que você pode usar a compilação condicional Win64 constante, como mostrado na seção seguinte. Para escrever código que pode trabalhar tanto em versões novas e antigas do Office que você pode usar uma combinação dos VBA7 novo e Win64 condicional Compiler Constantes. O compilador Vba7 condicional constante é usada para determinar se o código está sendo executado na versão 7 do editor de VB (VBA a versão que vem no Office 2010). A compilação condicional Win64 constante é usada para determinar qual versão (32 bits ou 64 bits) do Office está em execução:
Resumo das atualizações de linguagem VBA7 :
Disponibilizamos um arquivo com as novas bibliotecas para você fazer as adaptações em suas planilhas! Clique aqui e baixe!
|
|
|
|||||||||
|
Tudo Sobre Excel e o TOP 30 |
|
Estamos Participando do Concurso de Home Page Top 30. Seu voto diário é sempre bem vindo. |
|
Se preferir você pode comprar via MSN: vendas_boletins_excellencia@hotmail.com |
|
|
HIT Nº
|
HIT Nº
|
HIT Nº
|
© 2003/2011 tudosobrexcel.com. Todos os direitos reservados a Excelution Soluções em VBA.