Announcement

Collapse
No announcement yet.

Aktuelle RS232 Daten von VB2005 permanent nach Excel 2000 schreiben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Aktuelle RS232 Daten von VB2005 permanent nach Excel 2000 schreiben

    Hallo,

    ich habe ein kleines Controller Board mit mehreren Analogen Eingängen die ich ständig einlese und momentan einfach in Anzeigefelder in meiner Form schreibe.

    Da ich kein Diagramm mit VB2005 machen kann habe ich mir gedacht schreibe ich eben die ganzen Daten rüber in´s Excel und da komme ich nicht weiter.

    Ich habe mit Hilfe eines Forenbeitrages schon einen sehr vielversprechnende Schnippsel zur Áktivierung des Excel 2000 gefunden aber ich kann es nicht abstellen das Excel andauernt neue Arbeitsmappen öffnet anstatt die Daten immer wieder in die selbe Zelle zu schreiben.



    Code:
     Dim XlApp As Object
    
            Dim XlBook As Object
    
            Dim XlWorkBooks As Object
    
            Dim XlSheet As Object
    
    
    
            Try
                ' Versuch 1: Auf laufende Instanz aus der ROT aufschalten
    
                XlApp = GetObject("Excel.Application")
    
            Catch err As System.Exception
    
                Try
    
                    'Versuch 2: Neue Instanz anfordern
    
                    XlApp = CreateObject("Excel.Application")
    
                Catch ex As Exception
    
                    MessageBox.Show("Automation-Instanz von Excel kann nicht angefordert")
    
                End Try
    
            End Try
    
            XlApp.ScreenUpdating = True
    
            XlWorkBooks = XlApp.Workbooks
    
     
            XlBook = XlWorkBooks.add
    
    
            XlSheet = XlBook.worksheets(1)
    
            XlSheet.activate()
    
            ' Spaltenüberschrift
    
            Dim Col As Integer
    
            For Col = 1 To 3
    
                XlSheet.cells(1, Col).font.bold = True
    
                XlSheet.cells(1, Col) = String.Format("Spalte {0}", Col)
    
            Next Col
    
    
    
               XlSheet.Range("A2").Value = (SplitRs232(1)) 
    
    
            XlApp.screenupdating = True
    
            ' Benutzer soll mit Excel-GUI arbeiten
    
            XlApp.usercontrol = True
    
            Dim ApplicationObject As Object
    
            ApplicationObject = XlSheet.application
    
            ' Excel anzeigen
    
            ApplicationObject.visible = True

    Ich habe diesen Schnippsel bis jetzt unter meine Routine für das RS232 empfangen kopiert und hin und her Experimentiert das er nur die momentan aktive Arbeitsmappe nimmt und die Daten permament in der Zelle aktualisert, was bis jetzt aber noch nicht hinhaut.

    Es wäre schön wenn mir jemand eine kleine Hilfe in die richtige Richtung geben könnte.

    Gruß
    Steffen

  • #2
    Hallo!

    Wenn das nur ein Experiement ist würde ich die Daten in eine Textdatei schreiben. Diese Datei sollte z.B. so aufgebaut sein:

    05.07.2007 21:29:00; 203,4
    05.07.2007 21:30:10; 204,8

    Diese Textdatei kann dann in Excel importiert werden.

    mfg
    Thomas

    Comment


    • #3
      hallo thomas,

      ich habe es nun hinbekommen :

      Code:
              'Daten in´s Excel senden
              Dim XlApp As Object
              Dim XlBook As Object
              Dim XlWorkBooks As Object
              Dim XlSheet As Object
              XlApp = GetObject(, "Excel.Application")
              '   Label33.Text = XlApp
      
              '  XlApp.screenupdating = False
              XlWorkBooks = XlApp.Workbooks
              XlBook = XlWorkBooks
              XlSheet = XlApp.Worksheets("Prüfprotokoll")
              XlSheet.Range("AA6").Value = "meine Daten"
      Gruß
      Steffen

      Comment

      Working...
      X