Announcement

Collapse
No announcement yet.

VB6: Flexgrid --> Excel

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

  • VB6: Flexgrid --> Excel

    Hallo, ich hab hier keinen VB6 Bereich gefunden, aber vielleicht könnt ihr mir weiter helfen.

    Ich habe eine alte VB6 Anwendung der ich nun beibringen muss, Daten aus einem Grid (ich glaub das Teil heißt Flexgrid) in ein Excel-Dokument zu schreiben. Wege dies zu tun habe ich viele gefunden.
    Mein Problem ist, das ich eine Spalte "Anschrift" habe in der Zeilenumbrüche vorhanden sind. Diese hätte ich auch gerne dann in Excel. Das bekomm ich aber nicht hin.

    Hat jemand eine Ahnung, ob und wie das geht?


    Edit: Danke fürs verschieben
    Zuletzt editiert von Andreas Mahr; 01.10.2009, 11:29.

  • #2
    Zeilenumbrüche in Excel-Zellen sind nur einfache Linefeets ($000A)

    Comment


    • #3
      ok, aber wie muss ich dann meinen String an Excel übergeben, damit es das richtig auswertet?

      Comment


      • #4
        Hallo, ich hab hier keinen VB6 Bereich gefunden, aber vielleicht könnt ihr mir weiter helfen.
        Habs mal dorthin verschoben


        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          Wie schreibst du die Daten ins Excel ?
          Wenn du Zeile für Zeile einträgst wäre das ein Möglichkeit:

          ActiveCell.FormulaR1C1 = "1" & Chr(10) & "2"
          'In diesem Fall wird in die Zelle 1 dann ein Zeilenumbruch und dann die 2 geschrieben...

          Comment


          • #6
            Die Daten ins Excel werden über folgende Methode transportiert:

            [highlight=vb]
            Private Sub cmdDrucken_Click()

            Dim X
            Dim A%, B%, MSG%
            Dim strText As String


            On Error GoTo eh1:


            Me.MousePointer = vbHourglass

            Open TempPath & "excel.xls" For Output As #1

            For A = 0 To grdAusgabe.Rows - 1

            grdAusgabe.Row = A

            For B = 1 To grdAusgabe.Cols - 1

            grdAusgabe.Col = B

            strText = grdAusgabe.Text

            Print #1, strText & vbTab;

            Next B

            Print #1, ""


            Next A

            Close #1
            '
            Set ExApp = CreateObject("Excel.Application")
            ExApp.Workbooks.Open TempPath & "excel.xls"
            ExApp.Visible = True
            ExApp.WindowState = 1
            '
            Me.MousePointer = vbNormal

            Exit Sub
            [/highlight]

            Comment


            • #7
              Mein Ansatz wäre, erst die Daten des Grid in ein Array schreiben.
              Dann eine leeres Excel Worbook erstellen.
              Als nächstes die Daten Zeile für Zeile reinschreiben.
              Dies kann auch mit visible = false im Hintergrund passieren. Du kannst, wenn alle Daten übertagen sind, visible wieder auf True setzten...

              Comment

              Working...
              X