MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Maximizar navegador

    Compartilhe

    Roxo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 101
    Registrado : 10/07/2012

    [Resolvido]Maximizar navegador

    Mensagem  Roxo em 9/8/2016, 14:13

    Bom dia Amigos !
    Tenho um código para abrir o navegador na pagina de consultar cpf ou cnpj, está a funcionar bem, porem o navegador abre minimizado na barra de tarefas, estou tentando abrir maximizado e não estou conseguindo. Como posso fazer isso.
    Abaixo como está o código

    'Inicio abrir site consulta cpf/cnpj
               
       If Len(Found) = 11 Then
       Me.Consulta_site.SetFocus
       DoCmd.RunCommand acCmdCopy
       Set ie = CreateObject("internetexplorer.application")
       ie.Visible = True
       ie.navigate "http://www.receita.fazenda.gov.br/Aplicacoes/ATCTA/cpf/ConsultaPublica.asp"
       While ie.Busy
       DoEvents
       Wend
       
       Else
       Me.Consulta_site.SetFocus
       DoCmd.RunCommand acCmdCopy  
       Set ie = CreateObject("internetexplorer.application")
       ie.Visible = True
       ie.navigate "http://www.receita.fazenda.gov.br/PessoaJuridica/CNPJ/cnpjreva/Cnpjreva_Solicitacao.asp"
       End If

    'Final abrir site consulta cpf/cnpj

    Roxo

    Roxo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 101
    Registrado : 10/07/2012

    Re: [Resolvido]Maximizar navegador

    Mensagem  Roxo em 18/8/2016, 22:42

    Boa noite pessoal!
    Ainda não consegui resolver, se alguém tiver uma solução agradeço.

    Roxo
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    Re: [Resolvido]Maximizar navegador

    Mensagem  FabioPaes em 19/8/2016, 00:15

    Experimente colocar essa linha, depois da linha ie.Visiblre = true:

    ie.fullscreen = True


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    Re: [Resolvido]Maximizar navegador

    Mensagem  FabioPaes em 19/8/2016, 00:26

    Outra opção que achei na net é:


    Crie um Modulo e cole isto:
    Código:
    Option Explicit

    Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" _
                (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

    Global Const SW_MAXIMIZE = 3
    Global Const SW_SHOWNORMAL = 1
    Global Const SW_SHOWMINIMIZED = 2

    Salve o Modulo com qualquer nome...

    Agora, add esta linha no codigo que abre a pagina:

    apiShowWindow ie.hwnd, SW_MAXIMIZE
    'antes do site... Veja a baixo


    ...
    ie.Visible = True
      apiShowWindow ie.hwnd, SW_MAXIMIZE
      ie.navigate "http://www.receita.fazenda.gov.br/Aplicacoes/ATCTA/cpf/ConsultaPublica.asp"
    ...


    Origme


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    Roxo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 101
    Registrado : 10/07/2012

    Re: [Resolvido]Maximizar navegador

    Mensagem  Roxo em 22/8/2016, 22:46

    Fabio, obrigado pela ajuda, tenho o 2007 testei e funcionou legal, mas na máquina do escritório que tem o access 2016 da o erro abaixo.

    Erro de compilaçao
    O codigo deste projeto deve ser atualizado para uso em sistemas de 64 bits
    Analise e atualize as instruções Declare e, em seguida, marque-as com o atributo PtrSafe.

    Consegue me ajudar com isso

    Roxo
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    Re: [Resolvido]Maximizar navegador

    Mensagem  FabioPaes em 22/8/2016, 23:10

    Mude a Primeira linha do Modulo para:

    Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" _

    Veja se resolve...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    Roxo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 101
    Registrado : 10/07/2012

    Re: [Resolvido]Maximizar navegador

    Mensagem  Roxo em 23/8/2016, 01:43

    Fabio, beleza amigão!
    Está a funcionar perfeitamente no 2016
    Obrigado pelas dicas
    Espero que funcione do 2007 agora
    amanha vou testar e coloco aqui a resposta

    Roxo

    avatar
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1071
    Registrado : 07/12/2011

    Re: [Resolvido]Maximizar navegador

    Mensagem  tauron em 23/8/2016, 12:17

    Amigo,

    A inclusão do "ptrsafe" na primeira linha nao tem relacao com a versao do access (2007, 2010, 2013 ...). Isto serve para habilitar o codigo para rodar em 32 ou 64 bits.

    Codigo com o ptrsafe: sistema 64 bits

    Codigo sem o ptrsafe: sistema 32 bits. Very Happy
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5672
    Registrado : 15/03/2013

    Re: [Resolvido]Maximizar navegador

    Mensagem  ahteixeira em 23/8/2016, 12:24

    Olá a todos.
    Roxo, ao alterar acho que não vai dar no 2007, será melhor ver link abaixo e aplicar a mesma técnica:
    http://www.maximoaccess.com/t19146-resolvidoaplicacao-access-de-32-bits-nao-roda-em-64-bits
    Abraço
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    Re: [Resolvido]Maximizar navegador

    Mensagem  FabioPaes em 23/8/2016, 13:49

    Isso mesmo Ahteixeira isso e o mais correto a se fazer pra rodas tanto em 32 qnt em 64Bits.


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    Roxo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 101
    Registrado : 10/07/2012

    Re: [Resolvido]Maximizar navegador

    Mensagem  Roxo em 23/8/2016, 15:38

    Olá pessoal, realmente não funcionou, pelo que entendi tenho que usar a solução proposta pelo Avelino

    #If VBA7 Then
    '2010 ou 2013 de 32 ou 64 bits
    Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Public Declare PtrSafe Function GetFocus Lib "user32" () As LongPtr
    #Else
    '2007 ou inferior
    Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Public Declare Function GetFocus Lib "user32" () As Long
    #End If

    A pergunta é, como e onde coloco este código?
    No lugar do código antigo no Modulo que salvei?

    Roxo
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5672
    Registrado : 15/03/2013

    Re: [Resolvido]Maximizar navegador

    Mensagem  ahteixeira em 23/8/2016, 16:55

    Olá, está no bom caminho.
    Veja abaixo excelente artigo no nosso colega Avelino Sampaio:
    http://www.maximoaccess.com/t19146-resolvidoaplicacao-access-de-32-bits-nao-roda-em-64-bits

    Em especial na parte que exemplifica:
    Código:
    Option Compare Database
    Option Explicit
     
    #If VBA7 Then
       'Área comum do Access 2010 de 32 bits e 64 bits
       Declare ptrsafe Function GetActiveWindow Lib "user32" () As LongPtr
       #if WIN64 then
          'Área exclusiva do Access 2010 de 64 bits
          Declare PtrSafe Function GetTickCount64 Lib "kernel32" () As LongLong
       #else
          'Área exclusiva do Access 2010 de 32 bits
          Declare PtrSafe Function GetTickCount Lib "kernel32" () As Long
       #end if
    #Else
       'Área do Access 2007 e inferiores
       Declare Function GetActiveWindow Lib "user32" () As Long
       Declare Function GetTickCount Lib "kernel32" () As Long
    #End If

    Quanto à pergunta, onde coloco, é na parte das definições , tal e qual onde tinha antes.
    Passa é a ficar conforme exemplificado acima, assim irá rodar nas várias versões.

    Abraço

    Roxo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 101
    Registrado : 10/07/2012

    Re: [Resolvido]Maximizar navegador

    Mensagem  Roxo em 23/8/2016, 23:39

    Ahteixeira, Fabio !
    Obrigado pela ajuda, olha só, tinha criado o modulo mod_Maximize com o código anterior e colocado aquele texto que vc indicou antes de abrir o site " apiShowWindow ie.hwnd, SW_MAXIMIZE" , daí funcionou, mas tinha o problema do 32 ou 64 bits. Bom agora apaguei todo o conteúdo do mod`Maximize e colei este ultimo código, onde tem o if para 2007 e para 2016. O que acontece agora é que aquele api esta dando erro.
    Não sei onde está o erro, podem me ajudar ?

    Roxo
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5672
    Registrado : 15/03/2013

    Re: [Resolvido]Maximizar navegador

    Mensagem  ahteixeira em 25/8/2016, 09:13

    Olá,
    Aplicando o código que o colega Fabio postou na mensagem nº 6, fica assim:
    Código:
    Option Compare Database
    Option Explicit

    #If VBA7 Then
       'Área comum do Access 2010 de 32 bits e 64 bits

       #If Win64 Then
          'Área exclusiva do Access 2010 de 64 bits
        Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" _
                (ByVal hwnd As Long, ByVal nCmdShow As Long) As LongPtr
       #Else
          'Área exclusiva do Access 2010 de 32 bits
        Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" _
                (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
       #End If
    #Else
       'Área do Access 2007 e inferiores
        Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" _
                (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
    #End If

    Global Const SW_MAXIMIZE = 3
    Global Const SW_SHOWNORMAL = 1
    Global Const SW_SHOWMINIMIZED = 2

    Nota, Não testado.
    Abraço


    Última edição por ahteixeira em 25/8/2016, 23:56, editado 1 vez(es)

    Roxo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 101
    Registrado : 10/07/2012

    Re: [Resolvido]Maximizar navegador

    Mensagem  Roxo em 25/8/2016, 21:21

    Valeu amigão, deu erro, dai só acrescentei o PtrSafe no If exclusivo para o 64, ficou assim;

    #If Win64 Then
    'Área exclusiva do Access 2010 de 64 bits
    Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" _
    (ByVal hwnd As Long, ByVal nCmdShow As Long) As LongPtr

    Funcionou no bem no 64 bits então

    Muito obrigado a todos

    Roxo

    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5672
    Registrado : 15/03/2013

    Re: [Resolvido]Maximizar navegador

    Mensagem  ahteixeira em 25/8/2016, 23:58

    Olá José, obrigado pelo retorno.
    Compreendeu diretinho que até corrigiu!
    Abraço

    helcioperillo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 19/03/2012

    consultar o cpf direto do site da receita

    Mensagem  helcioperillo em 21/9/2018, 15:10

    Bom dia roxo! Vc ou outro colegapoderia disponibilizar este código para nós? uso access 2017 e preciso consultar o cpf direto do site da receita. Agradeço a ajuda de todos
    helcio

      Data/hora atual: 17/1/2019, 23:54