| |

Visual-Basic EinsteigerRe: VB6 und LibreOffice | |  | Autor: Tueftel | Datum: 04.11.24 09:13 |
| Hallo "Hollie",
nach einiger Zeit recherchieren, konnte ich folgenden Code zusammenstellen. Sicher nicht perfekt, aber bei mir läuft er einwandfrei. Vielleicht ein erster Einstieg. Insgesamt nicht ganz einfach. Deine Daten musst Du natürlich noch anpassen. Gruß Tueftel
Option Explicit
Dim oSM As Object 'Root object for accessing
' OpenOffice from VB --> (ServiceManager)
Private Sub cmdLibreOfficeTest_Click()
Call LibreOfficeTest
End Sub
Sub LibreOfficeTest()
Dim oDesk As Object
Dim oDoc As Object
Dim oSheets As Object
Dim oSheet As Object
Dim oRange As Object
Dim vartest As Variant
Dim strtest As String
Dim strFileName As String
Set oSM = CreateObject("com.sun.star.ServiceManager")
Set oDesk = oSM.createInstance("com.sun.star.frame.Desktop")
Dim OpenParam(3) As Object 'Parameters to open the doc
Set OpenParam(0) = mAkePropertyValue2("ReadOnly", False)
Set OpenParam(1) = mAkePropertyValue2("Hidden", True)
Set OpenParam(2) = mAkePropertyValue2("FilterName", "calc8")
Set OpenParam(3) = mAkePropertyValue2("MacroExecutionMode", 4)
' Set OpenParam(4) = mAkePropertyValue2("AsTemplate", False)
' Set OpenParam(5) = mAkePropertyValue2("overwrite", True)
strFileName = "G:/Test" 'Sonderzeichen nicht erlaubt??
'Open existing doc
Set oDoc = oDesk.loadComponentFromURL("file:///" & strFileName & ".ods", _
"_blank", 0, OpenParam)
MsgBox "Datei geöffnet!"
Set OpenParam(0) = Nothing
Set OpenParam(1) = Nothing
Set OpenParam(2) = Nothing
Set OpenParam(3) = Nothing
' Set OpenParam(4) = Nothing
' Set OpenParam(5) = Nothing
'Get the Worksheet
Set oSheets = oDoc.getSheets()
Set oSheet = oSheets.getByName("Tabelle1")
MsgBox "Arbeitsblatt geöffnet!"
'Read the value of a selected cell
strtest = oSheet.getCellRangeByName("B1").String ' = oSelection.String
'Change the value of a selected cell
strtest = Date & "*" & Time
oSheet.getCellRangeByName("B1").String = strtest
Debug.Print "strtest = " & strtest
MsgBox "Daten geändert!"
'Save the spreadsheet
Dim SaveParam(0) As Object 'Parameters to save the doc
Set SaveParam(0) = mAkePropertyValue2("FilterName", "calc8")
oDoc.storeAsURL "file:///" & strFileName & "_Neu" & ".ods", SaveParam
Set SaveParam(0) = Nothing
MsgBox "Daten gespeichert! - Neue Datei"
'Save the spreadsheet
Dim SaveParam2(1) As Object 'Parameters to save the doc
Set SaveParam2(0) = mAkePropertyValue2("FilterName", "calc8")
Set SaveParam2(1) = mAkePropertyValue2("overwrite", True)
oDoc.storeAsURL "file:///" & strFileName & ".ods", SaveParam
Set SaveParam2(0) = Nothing
Set SaveParam2(1) = Nothing
MsgBox "Daten gespeichert! - Überschrieben"
oDoc.dispose
oDesk.Terminate
Set oRange = Nothing
Set oSheet = Nothing
Set oSheets = Nothing
Set oDoc = Nothing
Set oDesk = Nothing
Set oSM = Nothing
End Sub
Public Function mAkePropertyValue2(cName, uValue)
Dim oStruct As Object
Set oStruct = oSM.Bridge_getStruct("com.sun.star.beans.PropertyValue")
oStruct.Name = cName
oStruct.Value = uValue
Set mAkePropertyValue2 = oStruct
Set oStruct = Nothing
End Function |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats sevOutBar 4.0 
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|