none
Leitura Porta Serial com Excel 2010 no Windows 7 64bits RRS feed

  • Pergunta

  • Olá

    Estou tentando ler a porta serial com o Office 2010 no Windows 7. O compomente MSCOMM32.OCX, apesar de corretamente registrado, retorna erro

    429 ActiveX Can't Create Object 

    Motivo: Integraçao do Excel com Arduino. Eu consigo fazer a leitura da porta serial com um programa C#, mas nao consigo com Excel 2010 no Windows 7. No Windows Xp funciona sem problemas.

    Estou procedendo da seguinte forma:

    Adiciona a refererncia ao Microsoft Communicatin Control 6.0 (sp3) no Office VBA, conforme figura abaixo:

    Depois adiciono o seguinte codigo na janela de macro VBA:

    Private WithEvents mscomm1 As MSCommLib.MSComm
    
    Private Sub CommandButton1_Click()
        Set mscomm1 = New MSCommLib.MSComm
        mscomm1.CommPort = 5
        mscomm1.PortOpen = True
        
    End Sub
    
    Private Sub mscomm1_OnComm()
        Select Case mscomm1.CommEvent
       ' Handle each event or error by placing
       ' code below each case statement
    
       ' Errors
          Case comEventBreak   ' A Break was received.
          Case comEventFrame   ' Framing Error
          Case comEventOverrun   ' Data Lost.
          Case comEventRxOver   ' Receive buffer overflow.
          Case comEventRxParity   ' Parity Error.
          Case comEventTxFull   ' Transmit buffer full.
          Case comEventDCB   ' Unexpected error retrieving DCB]
    
       ' Events
          Case comEvCD   ' Change in the CD line.
          Case comEvCTS   ' Change in the CTS line.
          Case comEvDSR   ' Change in the DSR line.
          Case comEvRing   ' Change in the Ring Indicator.
          Case comEvReceive   ' Received RThreshold # of
                            ' chars.
          Case comEvSend   ' There are SThreshold number of
                         ' characters in the transmit
                         ' buffer.
          Case comEvEOF   ' An EOF charater was found in
                         ' the input stream
       End Select
    End Sub

    Quando executo, obtenho erro  na linha:

    Set mscomm1 = New MSCommLib.MSComm

    Conforme figura abaixo:

    Obs: a mensagem esta em frances por causa do meu windows.

    Na internet existem diversos links que dizem que pode ser um problema com a licença do componente MSCOMM32, o que eu ja tentei sem obter uma soluçao.

    http://bytes.com/topic/visual-basic/answers/14374-problem-using-mscomm32-ocx 

    http://www.pcreview.co.uk/forums/run-time-error-429-activex-comonent-cant-create-object-mscomm-t3420919.html

    http://www.xtremevbtalk.com/showthread.php?t=192592

    E algumas dezenas de outros sites.


    Obrigado


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée




    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    quinta-feira, 1 de março de 2012 13:27

Todas as Respostas

  • Comparando seu código com o do site do marcoratti parece que a inicialização do componente e feita de uma outra forma

    Dê uma olhada nesse link do marcoratti que trata sobre o assunto as vezes pode lhe ser util. http://www.macoratti.net/vbserial.htm

    quinta-feira, 1 de março de 2012 15:58
  • O problema é que o Componente nao aparece na toolbox (ele só aprece na references) entao eu nao tenho como arrasta-lo para um form.

    Eu consigo fazer isso no XP com Office 2007, mas nao consigo fazer isso no Windows 7 64bit com Office 2010.

    Relamente nao tenho nehuma explicaçao do motivo... Se ao menos houvesse algo oficial dizendo que este é componente incompativel, mas nao é o caso.

    Obrigado pela atençao, mas o problema continua.


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    quinta-feira, 1 de março de 2012 16:38
  • Testei no Office XP com Win 7

    e apresentou o mesmo erro que você informou

    vou procurar mais informações e fazer novos teste para que possa tentar lhe ajudar neste problema

    quinta-feira, 1 de março de 2012 22:14
  • Obrigado

    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    segunda-feira, 5 de março de 2012 14:12