deusfalsus
Erfahrenes Mitglied
Ich habe mit folgender Funktion einen Export nach Word realisiert:
Läuft auf dem Client Office 11 (2003), funktioniert alles super.
Unter Office 10 (2002) jedoch stürzt das Programm sofort mit Aufrufen der Prozedur ab, ohne das der Try-Catch-Mechanismus ein ordentliche Fehlermeldung erzeugt.
Wie kann ich das Problem lösen?
Visual Basic:
Imports Microsoft.Office.Interop
Imports System.IO
...
Sub ListeExportieren()
Try
Dim m_wdApp As Word.Application
Dim m_wdDatei As Word.Document
m_wdApp = New Word.Application()
m_wdDatei = m_wdApp.Documents.Open("...Pfad\vorlage.doc")
m_wdApp.ActiveDocument.Bookmarks.Item("Stand").Select()
m_wdApp.Selection.TypeText(DateAndTime.DateString & " " & TimeOfDay)
m_wdApp.ActiveDocument.Bookmarks.Item("Daten").Select()
'Daten bis vorletzte Zeile schreiben
For r = 0 To KonsTab.Rows.Count - 2
For c = 1 To KonsTab.Columns.Count - 1
'On Error Resume Next
If Not KonsTab.Rows(r).Item(c).ToString = "" Then
m_wdApp.Selection.Text = KonsTab.Rows(r).Item(c)
End If
m_wdApp.WordBasic.nextcell()
Next
Next
'letzte Zeile bis vorletzte Zelle schreiben
For c = 1 To KonsTab.Columns.Count - 2
'On Error Resume Next
If Not KonsTab.Rows(KonsTab.Rows.Count - 1).Item(c).ToString = "" Then
m_wdApp.Selection.Text = KonsTab.Rows(KonsTab.Rows.Count - 1).Item(c)
End If
m_wdApp.WordBasic.nextcell()
Next
'letzte Zelle schreiben, ohne dabei in nächste Zelle zu springen, damit keine unnütze leere Tabellenzeile erzeugt wird
If Not KonsTab.Rows(KonsTab.Rows.Count - 1).Item(KonsTab.Columns.Count - 1).ToString = "" Then
m_wdApp.Selection.Text = KonsTab.Rows(KonsTab.Rows.Count - 1).Item(KonsTab.Columns.Count - 1)
End If
m_wdApp.Visible = True
m_wdApp.Activate()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Läuft auf dem Client Office 11 (2003), funktioniert alles super.
Unter Office 10 (2002) jedoch stürzt das Programm sofort mit Aufrufen der Prozedur ab, ohne das der Try-Catch-Mechanismus ein ordentliche Fehlermeldung erzeugt.
Wie kann ich das Problem lösen?