Worksheet.nl  

Ga terug   Worksheet.nl > Excel Overig > Downloads



Status bericht: Opgelost
Reageren
 
Discussietools Weergave
  #1  
Oud 4 juli 2010, 17:48
alphamax's schermafbeelding
Mega Senior Member
 
Geregistreerd: 8 april 2008
Locatie: weert
Berichten: 1.473
Standaard SMS-en via datakabel en GSM

SMS-en via datakabel en GSM

verzend een SMS met excel (vba)
  • via een datakabel en een GSM
  • via bluetooth en een GSM
de COM-poort wordt aangestuurd via API's en niet via MSCOMM, je hoeft dus niets te installeren
de USB-kabel of bluetooth moet door windows via virtual COM-port driver omgeleid worden naar een COM-poort

mogelijkheden
  • COM1 tot COM4
  • met of zonder PIN-code (in een GSM zitten meerdere PIN-codes, waarschijnlijk is hier de SMS-PIN-code bedoelt)
  • PDU-mode of Text-mode
getest met
  • Windows Vista
  • Excel 2003
  • zonder PIN
  • PDU-mode
  • Siemens DCA-540 USB-datakabel
  • Siemens C72 GSM
textmessage via data cable and cellphone

send an textmessage with Excel (VBA) via a data cable and a cellphone

The COM port is controlled through APIs and not by MSCOMM, so you do not need to install extra files
Windows redirects the USB cable, via a USB modem to a COM port

options
  • COM1 to COM4
  • With or without PIN-code (in a cellphone there are several PIN-codes, probably the textmessage-PIN-code is meant)
  • PDU-mode or Text mode
tested with
  • Windows Vista
  • Excel 2003
  • Without PIN
  • PDU-mode
  • Siemens DCA-540 USB Data Cable
  • Siemens C72 mobile phone


alphamax
Bijgevoegde bestanden
Bestandstype: xls worksheet sms vba cable gsm modem update 1.xls‎ (141,5 KB, 134x gelezen)

Laatst gewijzigd door alphamax; 8 januari 2011 om 17:28
Met citaat reageren
Sponsored Links
  #2  
Oud 6 juli 2010, 20:18
alphamax's schermafbeelding
Mega Senior Member
 
Geregistreerd: 8 april 2008
Locatie: weert
Berichten: 1.473
Standaard

update 1 geplaatst

disconnect werk nog niet goed (andermans code)
meerdere sms-jes na elkaar versturen mogelijk
melding wanneer sms-en is gelukt toegevoegd

wanneer iemand behoefte heeft aan meerdere ontvangers, laat het dan even weten, kost wel meerdere keren sms-kosten

alphamax

Laatst gewijzigd door alphamax; 6 juli 2010 om 20:25
Met citaat reageren
  #3  
Oud 6 juli 2010, 21:03
Mr. Magoo's schermafbeelding
Super Moderator
 
Geregistreerd: 17 november 2005
Locatie: Blokker Nederland
Berichten: 4.884
Standaard

Zijn wel programmeurs uit de helft van de vorige eeuw
Er wordt ruim gestrooid met Goto ........... of bestond Else niet toen ze deze code schreven.
Ze hadden ook een heleboel code in Functions kunnen zetten.

Ondanks mijn kritiek werkt het wel, alleen als ik zulke code zie dan krijg ik er gewoon kippenvel van en jeuken mijn handen.
__________________
Suc6

druk op F1 en lees ! En zie wat de moeder van de meeste oplossingen is.
en Worksheet.nl is de dochter

Moderator www.worksheet.nl / mr.magoo@worksheet.nl

Lees informatieve columns over buitenlandse reizen en wandelingen in Nederland
Verrassende columns over het leven van alledag op een camping.
Optimistische columns over pubers, ouders en ouderen. op www.jolandacatharina.nl
Met citaat reageren
  #4  
Oud 6 juli 2010, 22:01
Mr. Magoo's schermafbeelding
Super Moderator
 
Geregistreerd: 17 november 2005
Locatie: Blokker Nederland
Berichten: 4.884
Standaard

Nog wat uitgeprobeerd voor de liefhebber
je kan contact maken via Bluetooth
Ik heb een simpele telefoon: Nokia 2630
en gebruik Windows 7
__________________
Suc6

druk op F1 en lees ! En zie wat de moeder van de meeste oplossingen is.
en Worksheet.nl is de dochter

Moderator www.worksheet.nl / mr.magoo@worksheet.nl

Lees informatieve columns over buitenlandse reizen en wandelingen in Nederland
Verrassende columns over het leven van alledag op een camping.
Optimistische columns over pubers, ouders en ouderen. op www.jolandacatharina.nl
Met citaat reageren
  #5  
Oud 7 juli 2010, 19:28
alphamax's schermafbeelding
Mega Senior Member
 
Geregistreerd: 8 april 2008
Locatie: weert
Berichten: 1.473
Standaard

Citaat:
Oorspronkelijk geplaatst door Mr. Magoo Bekijk bericht
Zijn wel programmeurs uit de helft van de vorige eeuw
Er wordt ruim gestrooid met Goto ........... of bestond Else niet toen ze deze code schreven.
Ze hadden ook een heleboel code in Functions kunnen zetten.

Ondanks mijn kritiek werkt het wel, alleen als ik zulke code zie dan krijg ik er gewoon kippenvel van en jeuken mijn handen.
dit is mijn eerste bestand dat hardware aanstuurt
het aansturen van hardware lijkt met het moeilijkste wat er is, omdat je hebt te maken hebt met timing en transmit- en recievedata die aan bepaalde voorwaarden moet voldoen
daarom heb ik de code gewoon geknipt en geplakt en er een excel-jasje bij gemaakt

je handen jeuken?!?
hoe zou je de vele goto's vervangen?
welke structuren zou je gebruiken?
welke commando's zou je gebruiken?
kan je een klein opzetje maken?

ik ben ook maar een hobby programmeur (die wel wil leren)

alphamax
Met citaat reageren
  #6  
Oud 7 juli 2010, 21:25
Mr. Magoo's schermafbeelding
Super Moderator
 
Geregistreerd: 17 november 2005
Locatie: Blokker Nederland
Berichten: 4.884
Standaard

ik heb de functie CommOpen voor je omgezet zonder Goto -> buiten de On Error Goto.
Je ziet dat je Goto's heel goed kunt vermijden.

Code:
Public Function CommOpen(intPortID As Integer, strPort As String, _
                         strSettings As String) As Long

  Dim lngStatus As Long
  Dim udtCommTimeOuts As COMMTIMEOUTS

  On Error GoTo Routine_Error

  ' See if port already in use.
  If udtPorts(intPortID).blnPortOpen Then
    lngStatus = -1
    With udtCommError
      .lngErrorCode = lngStatus
      .strFunction = "CommOpen"
      .strErrorShift = "Port in use."
    End With
  Else
    ' Open serial port.
    udtPorts(intPortID).lngHandle = CreateFile(strPort, GENERIC_READ Or _
                                                        GENERIC_WRITE, 0, ByVal 0&, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)

    If udtPorts(intPortID).lngHandle = -1 Then lngStatus = SetCommError("CommOpen (CreateFile)")
  Else
    udtPorts(intPortID).blnPortOpen = True

    ' Setup device buffers (1K each).
    lngStatus = SetupComm(udtPorts(intPortID).lngHandle, 1024, 1024)

    If lngStatus = 0 Then
      lngStatus = SetCommError("CommOpen (SetupComm)")
    Else
      ' Purge buffers.
      lngStatus = PurgeComm(udtPorts(intPortID).lngHandle, PURGE_TXABORT Or _
                                                           PURGE_RXABORT Or _
                                                           PURGE_TXCLEAR Or _
                                                           PURGE_RXCLEAR)

      If lngStatus = 0 Then
        lngStatus = SetCommError("CommOpen (PurgeComm)")
      Else
        ' Set serial port timeouts.
        With udtCommTimeOuts
          .ReadIntervalTimeout = -1
          .ReadTotalTimeoutMultiplier = 0
          .ReadTotalTimeoutConstant = 1000
          .WriteTotalTimeoutMultiplier = 0
          .WriteTotalTimeoutMultiplier = 1000
        End With

        lngStatus = SetCommTimeouts(udtPorts(intPortID).lngHandle, udtCommTimeOuts)

        If lngStatus = 0 Then
          lngStatus = SetCommError("CommOpen (SetCommTimeouts)")
        Else
          ' Get the current state (DCB).
          lngStatus = GetCommState(udtPorts(intPortID).lngHandle, _
                                   udtPorts(intPortID).udtDCB)

          If lngStatus = 0 Then
            lngStatus = SetCommError("CommOpen (GetCommState)")
          Else
            ' Modify the DCB to reflect the desired settings.
            lngStatus = BuildCommDCB(strSettings, udtPorts(intPortID).udtDCB)

            If lngStatus = 0 Then
              lngStatus = SetCommError("CommOpen (BuildCommDCB)")
            Else
              ' Set the new state.
              lngStatus = SetCommState(udtPorts(intPortID).lngHandle, udtPorts(intPortID).udtDCB)

              If lngStatus = 0 Then
                lngStatus = SetCommError("CommOpen (SetCommState)")
              Else
                lngStatus = 0
              End If
            End If
          End If
        End If
      End If
    End If
  End If
End If

CommOpen = lngStatus
Exit Function

Routine_Error:
lngStatus = Err.Number
With udtCommError
  .lngErrorCode = lngStatus
  .strFunction = "CommOpen"
  .strErrorShift = Err.Description
End With
CommOpen = lngStatus
End Function
__________________
Suc6

druk op F1 en lees ! En zie wat de moeder van de meeste oplossingen is.
en Worksheet.nl is de dochter

Moderator www.worksheet.nl / mr.magoo@worksheet.nl

Lees informatieve columns over buitenlandse reizen en wandelingen in Nederland
Verrassende columns over het leven van alledag op een camping.
Optimistische columns over pubers, ouders en ouderen. op www.jolandacatharina.nl
Met citaat reageren
Reageren


Discussietools
Weergave

Regels voor berichten
Je mag geen nieuwe discussies starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit
Trackbacks are Aan
Pingbacks are Aan
Refbacks are Aan



Ga terug   Worksheet.nl > Excel Overig > Downloads



Alle tijden zijn GMT +1. Het is nu 05:39.


Forumsoftware: vBulletin®, versie 3.8.7
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0