vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: VB6 und LibreOffice 
Autor: Tueftel
Datum: 06.11.24 18:08

Hallo Hollie,

der "Zaubercode" lautet bei mir:
oDoc.getCurrentController.getFrame.getContainerWindow().setVisible (False) 'oder true

'Set OpenParam(1) = mAkePropertyValue2("Minimized", True) 'Minimized ist auch ein neuer Parameter!

Ich würde allerdings nicht manuell in der geöffneten Tabelle etwas ändern. Aber ein Versuch ist es wert.

Nachfolgend der neue Code:
Option Explicit
 
Dim oSM                             As Object    'Root object for accessing 
' OpenOffice from VB --> (ServiceManager)
 
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(1) = mAkePropertyValue2("Minimized", 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!"
 
  oDoc.getCurrentController.getFrame.getContainerWindow().setVisible (True)
 
  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
  Debug.Print "Datum/Zeit vorher: " & strtest
  'Change the value of a selected cell
  strtest = Date & "*" & Time
  oSheet.getCellRangeByName("B1").String = strtest
 
  strtest = oSheet.getCellRangeByName("B1").String  ' = oSelection.String
  Debug.Print "Datum/Zeit nachher: " & strtest
 
  MsgBox "Daten geändert!"
 
  oDoc.getCurrentController.getFrame.getContainerWindow().setVisible (False)
 
  '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
 
Private Sub cmdLibreOfficeTest_Click()
  Call LibreOfficeTest
End Sub
Ich hoffe, das hilft Dir.

Gruß Tüftel
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
VB6 und LibreOffice496Hollie19.10.24 13:22
Re: VB6 und LibreOffice267Tueftel04.11.24 09:13
Re: VB6 und LibreOffice238Hollie05.11.24 11:48
Re: VB6 und LibreOffice209Tueftel05.11.24 15:07
Re: VB6 und LibreOffice239Hollie06.11.24 14:31
Re: VB6 und LibreOffice236Tueftel06.11.24 18:08
Re: VB6 und LibreOffice263Hollie08.11.24 17:57

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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