Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Basic Laufzeitfehler bei LibreOffice

Forumthread: Basic Laufzeitfehler bei LibreOffice

Basic Laufzeitfehler bei LibreOffice
13.04.2013 21:48:28
Frei
Hallo zusammen
Ich war schon der Meinung mein Problem wäre gelöst, nachdem es nun auch auf Mac läuft,
https://www.herber.de/forum/archiv/1304to1308/t1307213.htm#1307213
doch dann kommt ein User mit LibreOffice und meldet ebenfalls ein Laufzeitfehler. So wie ich aus dem Screenshot des User schliessen kann, liegt der Fehler bei der gleichen Zeile wie damals beim Mac User.
Liegt der Fehler nun beim Excelprogi oder ist Libre nicht in der Lage Office VBA zu lesen?
Wäre sehr froh, wenn Ihr mir weiterhelfen könntet. Übrigens der Libre User hätte als Alternative auch noch OpenOffice im Angebot.
Hier mal der Code der bei Libre "zickt"
  • 
    Private Sub UserForm_Activate()
    '    ActiveWorkbook.Sheets("Tabelle1").Select
    Me.ComboBox1.List = ActiveWorkbook.Sheets("Tabelle1").Range("O5:O16").Value
    '    Me.ComboBox1.RowSource = "O4:O16"
    End Sub
    

  • Und hier mal die Bilddatei des Users
    Userbild
    Danke schon mal für eure Hilfe
    Gruess Dani

    Anzeige

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Basic Laufzeitfehler bei LibreOffice
    13.04.2013 21:52:43
    mumpel
    Hallo!
    Kannst Du vergessen. Das läuft in Starbasic nicht. Für Starbasic musst Du einen dafür geeigneten Dialog erstellen. Dieser kann aber nur in LibreOffice-Dateien gespeichert werden (nicht in Microsoft-Office-Dateien) und ist in VBA nicht lauffähig.
    Gruß, René

    AW: Basic Laufzeitfehler bei LibreOffice
    13.04.2013 22:12:42
    Frei
    Hallo René
    Danke für die schnelle Antwort. Ist zwar nicht so befriedigende aber ich versuch den User davon zu überzeugen, dass MS Office doch besser ist als seine OpenSource Version :-)
    Geht es in diesem Fall auch nicht mit OpenOffice? Wenn nicht, noch ein Grund mehr für Ihn zu MSO zu wechseln. Kostet heute ja nicht mehr die Welt... :-)
    Gruess Dani

    Anzeige
    AW: Basic Laufzeitfehler bei LibreOffice
    13.04.2013 22:17:27
    mumpel
    Openoffice ist das selbe wie LibreOffice. In beiden Officepaketen kommt Starbasic zum Einsatz.
    Das Umprogrammieren ist aber nicht so schwer. Zwar nicht so einfach wie in VBA, aber lernbar.

    Nachtrag
    13.04.2013 22:23:19
    mumpel
    Klassenmodule und Auto-Makros (Workbook_Open, Worksheet_Activate etc.) laufen generell nicht in Starbasic. Auch einiges an "Public" (zum Beispiel "Public Enum") läuft ebenfalls nicht in Starbasic.
    Anzeige
    ;
    Anzeige
    Anzeige

    Infobox / Tutorial

    Laufzeitfehler in LibreOffice beheben


    Schritt-für-Schritt-Anleitung

    1. Überprüfe den Code: Achte darauf, dass der VBA-Code, den Du verwenden möchtest, für LibreOffice geeignet ist. Einige Funktionen, die in Microsoft Excel funktionieren, sind möglicherweise in LibreOffice nicht verfügbar.

      Private Sub UserForm_Activate()
         Me.ComboBox1.List = ActiveWorkbook.Sheets("Tabelle1").Range("O5:O16").Value
      End Sub
    2. Erstelle einen Dialog: In LibreOffice musst Du einen geeigneten Dialog in Starbasic erstellen. Dies kann nicht in Microsoft Office-Dateien gespeichert werden.

    3. Speichere die Datei: Stelle sicher, dass Deine Datei im richtigen Format (*.ods für LibreOffice) gespeichert ist, da das Format Auswirkungen auf die Funktionalität des Codes hat.

    4. Teste den Code: Führe den Code in der LibreOffice-Umgebung aus, um sicherzustellen, dass keine Laufzeitfehler auftreten.


    Häufige Fehler und Lösungen

    • Laufzeitfehler: Wenn Du einen Laufzeitfehler erhältst, überprüfe, ob alle verwendeten Funktionen in Starbasic unterstützt werden. Klassenmodule und Auto-Makros wie Workbook_Open funktionieren nicht in Starbasic.
    • Dialog nicht gefunden: Achte darauf, dass der Dialog, den Du erstellt hast, korrekt benannt ist und in LibreOffice verfügbar ist.

    Alternative Methoden

    Wenn Du auf Probleme stößt, kannst Du folgende Alternativen in Betracht ziehen:

    • OpenOffice: Da OpenOffice und LibreOffice ähnliche Grundlagen verwenden, lässt sich der Code oft auch dort verwenden. Beachte jedoch, dass auch hier Anpassungen notwendig sein können.
    • VBA in Microsoft Office: Falls die benötigten Funktionen nicht in LibreOffice verfügbar sind, könnte ein Wechsel zu Microsoft Office sinnvoll sein, um volle Kompatibilität und Unterstützung für VBA zu erhalten.

    Praktische Beispiele

    Hier sind einige LibreOffice Basic Beispiele, die Dir helfen können:

    1. Zellen schützen: Um Zellen in LibreOffice zu schützen, kannst Du die folgende Methode verwenden:

      Sub SchutzeZellen()
         Dim oDoc As Object
         oDoc = ThisComponent
         oSheet = oDoc.Sheets(0) ' Erster Arbeitsblatt
         oCell = oSheet.getCellRangeByName("A1") ' Zelle A1
         oCell.IsProtected = True
      End Sub
    2. Makros erstellen: Um ein Makro in LibreOffice zu erstellen, öffne den Makro-Editor und erstelle eine neue Subroutine.


    Tipps für Profis

    • Starbasic lernen: Wenn Du oft mit LibreOffice arbeitest, kann es sinnvoll sein, die Grundlagen von Starbasic zu lernen. Es gibt zahlreiche LibreOffice Makros Beispiele online, die nützlich sein können.
    • Dokumentation nutzen: Nutze die offizielle LibreOffice-Dokumentation, um spezifische Funktionen und deren Implementierung besser zu verstehen.
    • Community-Foren: Tritt der LibreOffice-Community bei, um Unterstützung und zusätzliche Ressourcen zu erhalten.

    FAQ: Häufige Fragen

    1. Warum bekomme ich einen Laufzeitfehler in LibreOffice?
    Laufzeitfehler können auftreten, wenn der verwendete VBA-Code nicht mit Starbasic kompatibel ist. Überprüfe den Code auf Funktionen, die in LibreOffice nicht unterstützt werden.

    2. Kann ich VBA-Code direkt in LibreOffice verwenden?
    Nein, VBA-Code kann nicht direkt in LibreOffice verwendet werden, da LibreOffice Starbasic anstelle von VBA verwendet. Du musst den Code anpassen.

    3. Wie kann ich Zellen in LibreOffice schützen?
    Du kannst Zellen in LibreOffice schützen, indem Du die IsProtected-Eigenschaft der Zellen auf True setzt, wie im obigen Beispiel beschrieben.

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige