Ir para conteúdo
Fórum Script Brasil

Tarcisio May

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre Tarcisio May

Tarcisio May's Achievements

0

Reputação

  1. Tenho uma planilha que criei no excel 2003 bastante complexa que utiliza vários formulários (caixas de listagem, check boxes, botões e etc...) para filtrar e trabalhar dados de um banco de dados da própria planilha. Esta planilha funciona perfeitamente no excel 2003 em uma máquina bastante simples. Recentemente comprei uma máquina de ponta (Intel core i7 8GB de Ram 750GB HD windows 7 premium 64bits) com office 2010 64bits instalado. Quando abro a planilha no excel 2010 tenho o mesmo problema da mensagem de memória. Todas as funções da planilha funcionam normalmente mas a mensagem continua aparecendo toda vez que ela é utilizada no excel 2010. Após pesquisar muito na internet percebi que este é um problema bastante discutido. Em um dos fóruns que li um usuário resolveu o problema da mensagem deletando os objetos de formulários. Fiz este teste na minha planilha e realmente deletando os formulários a mensagem some. Agora estou procurando uma solução para resolver o problema sem ter que deletar os formulários pois eles são a interface do usuário para executar e filtrar os dados dos programas. Será que o problema está na conversão da planilha criada no excel 2003 para o excel 2010? (tanto no modo de compatibilidade quanto salvando a mesma para o formato XLSM a mensagem continua) Ou será que a nova tecnologia de formulários e objetos do excel 2010 é mesmo ineficiente no que diz respeito a consumo de memória? Espero ter uma solução para este problema pois os formulários são uma das melhores maneiras de se criar uma interface amigável e eficiente.
  2. Pessoal, Preciso da ajuda dos experts em vb para resolver um problema! Já postei esta pergunta em outros fórums sem sucesso! Estou utilizando o código abaixo para obter o nome da janela principal do sistema da minha empresa. O código está funcionando muito bem, porém não consigo adaptá-lo para obter o nome de uma sub janela derivada desta principal. Preciso: _Ou obter o nome desta sub janela _Ou identificar se ela está ativa _Ou localizar esta sub janela pelo nome Qualquer uma das opções acima resolve o meu problema!!!!!!!!! Código que estou usando para capturar o nome da janela principal: 'Declarações: Private Declare Function GetForegroundWindow Lib "user32" () As Long Declare Function GetActiveWindow Lib "user32" () As Long Public Declare Function GetFocus Lib "user32" () As Long Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long Private Declare Function ModifyMenu Lib "user32" Alias "ModifyMenuA" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpString As Any) As Long Const MF_BITMAP = 4 Const MF_CHECKED = 8 'Código para Obter nome da janela Principal: Sub Obter_Nome_Da_Janela_Ativa() strClassName = Space(256) strActiveWinTitle = String(256, Chr$(0)) lngActiveWin = GetForegroundWindow() lngRet = GetClassName(lngActiveWin, strClassName, 256) strClassName = Left$(strClassName, lngRet) GetWindowText lngActiveWin, strActiveWinTitle, 256 strActiveWinTitle = Left$(strActiveWinTitle, InStr(strActiveWinTitle, Chr$(0)) - 1) Nome_da_janela_principal = strActiveWinTitle End sub Obrigado Tarcisio
×
×
  • Criar Novo...