von dherr » Do, 31.01.2008 16:47
Danke für den Tipp!
Aber bei mir im VB2005-Programm funktioniert es nicht. Ich mache Folgendes:
Code: Alles auswählen
Dim oSM As Object 'Hauptobjekt fuer den Zugriff auf OpenOffice von VB.Net aus (SM: ServiceManager)
Dim oDesk, oDoc, oSheet, oRange, oCell, oCursor As Object 'Objekte von der OpenOffice-Schnittstelle (API)
...
oSM = CreateObject("com.sun.star.ServiceManager") 'OpenOffice instanziieren: Zwingend notwenig fuer die Kommunikation von VB.Net mit der OpenOffice API
oDesk = oSM.createInstance("com.sun.star.frame.Desktop") 'Erstelle den ersten & wichtigsten Dienst
...
Dim ladeZustand(0)
ladeZustand(0) = oSM.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
ladeZustand(0).Value = True
...
Dim str As String = fName 'das ist der Dateiname der OO-Calc
str = str.Replace("\", "/")
str = "file:///" + str.Replace(":", "|")
oDoc = oDesk.loadComponentFromURL(str, "_blank", 0, ladeZustand)
...
oSheet = oDoc.getSheets().getByName("Tabelle1") 'Bezugspunkt: 1.Blatt der Mappe
ocursor = oSheet.createCursor()
ocursor.gotoStart()
oCursor.gotoEnd() 'letzte Zelle des Bereiches
lastSp = oCursor.getRangeAddress.endColumn 'index letzte Spalte des Bereichs
lastZe = oCursor.getRangeAddress.endRow 'index letzte Zeile des Bereichs
...
Das Dokument wird richtig geöffnet, aber alles weitere funktioniert nicht. Der Cursor wird nicht gesetzt und die Indizes nicht ermittelt.
Muss ich eventuell noch einen speziellen Dienst initialisieren?
Gruß-
Dietrich
Danke für den Tipp!
Aber bei mir im VB2005-Programm funktioniert es nicht. Ich mache Folgendes:
[code] Dim oSM As Object 'Hauptobjekt fuer den Zugriff auf OpenOffice von VB.Net aus (SM: ServiceManager)
Dim oDesk, oDoc, oSheet, oRange, oCell, oCursor As Object 'Objekte von der OpenOffice-Schnittstelle (API)
...
oSM = CreateObject("com.sun.star.ServiceManager") 'OpenOffice instanziieren: Zwingend notwenig fuer die Kommunikation von VB.Net mit der OpenOffice API
oDesk = oSM.createInstance("com.sun.star.frame.Desktop") 'Erstelle den ersten & wichtigsten Dienst
...
Dim ladeZustand(0)
ladeZustand(0) = oSM.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
ladeZustand(0).Value = True
...
Dim str As String = fName 'das ist der Dateiname der OO-Calc
str = str.Replace("\", "/")
str = "file:///" + str.Replace(":", "|")
oDoc = oDesk.loadComponentFromURL(str, "_blank", 0, ladeZustand)
...
oSheet = oDoc.getSheets().getByName("Tabelle1") 'Bezugspunkt: 1.Blatt der Mappe
ocursor = oSheet.createCursor()
ocursor.gotoStart()
oCursor.gotoEnd() 'letzte Zelle des Bereiches
lastSp = oCursor.getRangeAddress.endColumn 'index letzte Spalte des Bereichs
lastZe = oCursor.getRangeAddress.endRow 'index letzte Zeile des Bereichs
...[/code]
Das Dokument wird richtig geöffnet, aber alles weitere funktioniert nicht. Der Cursor wird nicht gesetzt und die Indizes nicht ermittelt.
Muss ich eventuell noch einen speziellen Dienst initialisieren?
Gruß-
Dietrich