Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wechsel von Excel auf OpenOffice

Wechsel von Excel auf OpenOffice
Excel
Hallo
bei uns in der Firma geht das Gerücht um, beim nächsten Programmwechsel könnte statt Excel OpenOffice verwendet werden.
Da ich (und wahrscheinlich noch ein paar mehr Kollegen) einige, auch grösse, selbstgeschriebene VBA-Makros verwende und OO VBA nicht übernommen hat, stellen sich natürlich ein paar Fragen:
1. wie schwierig ist das Umlernen, wenn man außer autodidaktischem VBA keine weiteren Kenntnisse in modernen Programmiersprachen hat? Ist das mehr oder weniger selbsterklärend oder sollte man einen Kurs besuchen?
2. wie aufwendig wird das Umschreiben der Makros? Müssen diese von Grund auf neu geschrieben werden oder kann auch umfangreicher Quellcode mit einfachen Mitteln (z.B. Suchen-Ersetzen) umgebaut werden?
Gibt es eventuell sogar Umsetzungsprogramme oder Dienstleister, die sowas übernehmen?
Ich bräuchte da ein paar Infos, um usere Entscheidungsträger schon mal darauf vorzubereiten, daß bei der Umstellung ein gewisser Aufwand für Schulungs- und Anpassungsmaßnahmen auf sie zukommt und die entsprechenden Resurcen rechtzeitig eingeplant werden.
Gruß, Daniel
Anzeige
AW: Wechsel von Excel auf OpenOffice
24.03.2010 08:42:35
Excel
Hallo Daniel,
beim Umstieg gibt es ntürlich schon Probleme.
Ich habe bisher nur sehr wenig und einfache Routinen in OO programmiert.
Die Syntax ist deutlich anders als in Excel-VBA. Als Beispiel hier ein aufgezeichnetes Makro
Funktion: Datei speichern unter einem Namen inklusive setzen einiger Dokument-Eigenschaften.
Wie in Excel besteht auch hier das Problem, dass der aufgezeichnete Code nicht so besonders effektiv ist. Aber erhilft sehr, die Syntax kennenzulernen.
Beim Umschreiben der Makros von VBA auf OO wird man vieles verwenden können. Die Grundstruktur sollte erhalten bleiben.
Ein Problem wird aber sein, dass es für bestimmte VBA-Methoden/Funktion in OO keine Entsprechung gibt. Dann müssen entsprechende Ersatzroutinen geschrieben werden.
Die Umstellung sollte man hier insbesondere bei komplexeren Prozeduren nicht auf die leichte Schulter nehmen (a) Programmierkenntnisse, b)Zeitaufwand).
Gruß
Franz
sub SpeichernDatei
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(17) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Properties.UseUserData"
args1(0).Value = true
args1(1).Name = "Properties.DeleteUserData"
args1(1).Value = false
args1(2).Name = "Properties.Title"
args1(2).Value = "Test-Titel"
args1(3).Name = "Properties.Subject"
args1(3).Value = "OO-Test Makros"
args1(4).Name = "Properties.KeyWords"
args1(4).Value = ""
args1(5).Name = "Properties.Description"
args1(5).Value = ""
args1(6).Name = "Properties.AutoReload"
args1(6).Value = false
args1(7).Name = "Properties.AutoReloadTime"
args1(7).Value = 0
args1(8).Name = "Properties.AutoReloadURL"
args1(8).Value = ""
args1(9).Name = "Properties.AutoReloadFrame"
args1(9).Value = ""
args1(10).Name = "Properties.Field1Title"
args1(10).Value = ""
args1(11).Name = "Properties.Field2Title"
args1(11).Value = ""
args1(12).Name = "Properties.Field3Title"
args1(12).Value = ""
args1(13).Name = "Properties.Field4Title"
args1(13).Value = ""
args1(14).Name = "Properties.Field1"
args1(14).Value = ""
args1(15).Name = "Properties.Field2"
args1(15).Value = ""
args1(16).Name = "Properties.Field3"
args1(16).Value = ""
args1(17).Name = "Properties.Field4"
args1(17).Value = ""
dispatcher.executeDispatch(document, ".uno:SetDocumentProperties", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Save", "", 0, Array())
end sub

Anzeige
Dazu kann ich nur sagen, ihr unterschätzt...
24.03.2010 12:53:18
Luc:-?
…die OS-Gemeinde gewaltig, Leute;
ab OO3.0 ist ein VBA-Adapter integriert, so dass viele VBA-Prozeduren ohne Änderung laufen können. Bei 3.0 musste ich allerdings feststellen, dass einzeilige If…Then…Else… nicht unterstützt wdn, schon gar nicht, wenn da 'ne Komponente fehlt. Auch tut sich auch 3.0 noch mit Matrixkonstanten schwer — sollen fktn, aber tun's nicht. Außerdem ist die Bedingt-Formatie­rung komplett anders, mehr im Sinne einer Auszeichnung von Überschriften. Aber 3.0 ist ja inzwischen nicht mehr der letzte Stand und der Projektschutz soll auch wesentlich besser als bei MS sein.
Gruß Luc :-?
Anzeige
AW: Dazu kann ich nur sagen, ihr unterschätzt...
24.03.2010 13:29:11
bst
Hi Luc,
ab OO3.0 ist ein VBA-Adapter integriert
Ja, und, hast Du den auch mal probiert, ich meine mit 'echtem Code' und nicht nur mit Kinderspielzeug ?
so dass viele VBA-Prozeduren ohne Änderung laufen können
Definiere mal viele.
Aktuell ist übrigens 3.2.0.
cu, Bernd
Anzeige
Ich habe kein "Kinderspielzeug", das...
24.03.2010 17:32:34
Luc:-?
…solltest du eigentlich wissen, Bernd! :-/
Und außerdem habe ich ja auch Einschränkungen genannt und ebenso, dass 3.0 nicht die aktuelle, aber wohl die ist, mit der das begann. Also alles nur 'ne Frage der Zeit, bis das richtig läuft…
Auf der anderen Seite läuft's für MS wohl gerade nicht so gut mit den XML-XLs ab Vs12. Laut 'ct haben die Anti-XML-Kläger einen Prozess gg MS gewonnen; da wdn die Jungs wohl einiges einstampfen müssen… ;-)
Gruß Luc :-?
Anzeige
AW: Hallo Luc wo finde ich VBA nach OO...
24.03.2010 17:42:16
ing.grohn
Hallo Luc,
ich arbeite gerne mit Open Office und habe auch die aktuelle Version.
Die Programmierung mach ich aber unter VBA.
Wo ist denn die Möglichkeit der Konvertierung von VBA nach OO-Basic versteckt?
Mizt freundlichen Grüßen
Albrecht
Du musst eine XL-Datei, die Makros...
24.03.2010 18:10:50
Luc:-?
…enthält, nur mit OO öffnen, Albrecht,
dann bekommst du gleich 'ne Meldung zur Makroaktivierung. Wenn du danach unter Extras - Makros - Verwalten nachschaust und dabei OO wählst und dann die Datei, kannst du dir bei Auswahl eines Prozedurnamens und Klick auf Bearbeiten alle Makros ansehen. Das war auch schon früher so, nur waren die Makros dann auskommentiert. Jetzt nicht mehr, dafür steht dann oben die Option VBA-Adapter oder so ähnl. Auf Tabellenblättern scheint einiges noch nicht richtig zu fktn, denn mitunter wdn mehrere Prozz, die OO nicht erkennt/zuordnen kann, zu einer zusammengefasst. Ggf ist da mit manueller Nacharbeit noch was zu machen. Enumerationen scheint OO auch noch nicht zu verstehen. Test ist für mich schwierig, weil meine udFktt etliches benutzen, was wohl noch nicht adaptiert wdn kann. Aber wie gesagt, alles nur 'ne Frage der Zeit; wenn die Jungs erst mal dabei sind, ziehen die das auch durch, es sei denn, MS kann das gerichtlich verhindern, was ich nicht glaube… ;-)
Gruß Luc :-?
Anzeige
Nachtrag zur letzten Bemerkung...
24.03.2010 17:49:21
Luc:-?
…zumal sich MS ja auch zum wiederholten Mal nicht um bestehende Konventionen (hier: XML) geschert hat, was ja eigentl typisch amerikanisch ist und in einem Land, das nach mehr als 100 Jahren metrischem System immer noch hptsächl in inch, feet und gallons (wie im MA!) rechnet, Intelligent Design, Scientology, die Chicago Boys u.a. Aberwitz hervorgebracht hat, eigentl nicht verwundern kann…
Ciao Luc :-?
Anzeige
AW: Nachtrag zur letzten Bemerkung...
24.03.2010 18:30:10
ing.grohn
Hallo Luc,
ich muß dazu nichts mehr sagen !!! Vielen Dank.
(ich hoffe Du verstehtst mich (hoffe? nein, Du verstehst))
Einen schönen Abend wünscht
Albrecht
Danke, dito Tag! ;-) owT
25.03.2010 02:23:28
Luc:-?
:-?
AW: Ich habe kein "Kinderspielzeug", das...
bst
Abend zusammen,
@Franz,
Der Makrorekorder in Calc kann nur Dispatcher-Code erzeugen, das hat mit der 'normalen' OOo-Basic Programmierung unter Calc mit dem UNO-Modell eigentlich nichts gemeinsam, Dein Beispiel ist denn M.E. nicht wirklich aussagekräftig.
@Luc,
das war mir schon klar ;-)
Also alles nur 'ne Frage der Zeit, bis das richtig läuft…
Das sehe ich auch so, aber Stand Heute geht M.E. so viel halt noch nicht.
@Albrecht,
Option VBASupport 1
danach versteht OOo rudimentär VBA. Ich halte bisher davon allerdings bisher nicht viel, M.E. ist es - noch - sinnvoller den Code komplett umzuschreiben. Möglicherweise - hoffentlich - ändert sich das ja in naher Zukunft.
cu, Bernd
Anzeige
AW: erstmal Danke
24.03.2010 20:52:07
Daniel
Hallo
erstmal vielen Dank für die Infos, wenn ich mir die Beispiele so anschaue, dann hat VBA doch grade in der Benutzerfreundlichkeit doch einige Vorteile gegenüber OOo. Gerade der Intellisense würde mir doch sehr fehlen.
Gruß, Daniel
ps. weitere Ideen und Anregungen sind weiterhin willkommen
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Wechsel von Excel zu OpenOffice: Ein Leitfaden


Schritt-für-Schritt-Anleitung

  1. Vorbereitung: Stelle sicher, dass du die neueste Version von OpenOffice installiert hast. Achte darauf, dass deine Excel-Dateien (XLS oder XLSX) für die Umwandlung in OpenOffice bereit sind.

  2. Öffnen der Excel-Datei: Öffne OpenOffice und lade deine Excel-Datei über Datei > Öffnen. Dies ermöglicht es dir, die Datei direkt mit OpenOffice zu bearbeiten.

  3. Aktivieren von Makros: Wenn deine Excel-Datei VBA-Makros enthält, wirst du beim Öffnen aufgefordert, Makros zu aktivieren. Achte darauf, dies zu tun, um alle Funktionen nutzen zu können.

  4. VBA-Adapter nutzen: In OpenOffice ab Version 3.0 ist ein VBA-Adapter integriert, der es ermöglicht, viele VBA-Prozeduren ohne größere Änderungen zu verwenden. Überprüfe, ob dein Code mit Option VBASupport 1 kompatibel ist.

  5. Umschreiben der Makros: Möglicherweise musst du einige Makros anpassen. Nutze den OpenOffice Makro-Editor, um deine VBA-Makros in OpenOffice Basic zu übertragen. Hierbei kann der Dispatcher com.sun.star.frame.DispatchHelper hilfreich sein.


Häufige Fehler und Lösungen

  • OpenOffice Calc Summe funktioniert nicht: Achte darauf, dass du die richtige Funktion verwendest. Manchmal kann die Summe anders als in Excel interpretiert werden. Überprüfe die Syntax.

  • Makros werden nicht erkannt: Stelle sicher, dass die Makros bei der Dateiaktivierung zugelassen wurden und dass du die richtige Option im Makro-Menü ausgewählt hast.

  • Hyperlinks entfernen: Um Hyperlinks in OpenOffice zu entfernen, klicke mit der rechten Maustaste auf den Link und wähle „Hyperlink entfernen“ aus dem Kontextmenü.


Alternative Methoden

  1. OpenOffice Online Excel: Du kannst auch die Online-Version von OpenOffice nutzen, um Excel-Dateien zu bearbeiten. Dies ist besonders nützlich, wenn du nicht über die Desktop-Version verfügst.

  2. Konvertierungstools: Es gibt spezielle Tools, die helfen können, Excel-Dateien nach OpenOffice zu konvertieren. Diese können oft die Formatierung und die Makros beibehalten.

  3. VBA in OpenOffice: Wenn du mit VBA in OpenOffice arbeiten möchtest, solltest du dich mit der Programmiersprache OpenOffice Basic vertrautmachen. Es gibt viele Online-Ressourcen, die dir dabei helfen.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie ein Makro in OpenOffice Basic aussieht, das dem VBA-Code ähnelt:

Sub SpeichernDatei
    Dim document As Object
    Dim dispatcher As Object
    document = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

    Dim args1(0) As New com.sun.star.beans.PropertyValue
    args1(0).Name = "Properties.Title"
    args1(0).Value = "Mein Dokument"

    dispatcher.executeDispatch(document, ".uno:SetDocumentProperties", "", 0, args1())
    dispatcher.executeDispatch(document, ".uno:Save", "", 0, Array())
End Sub

Dieses Beispiel zeigt, wie du Dokumenteigenschaften in OpenOffice setzen kannst, ähnlich wie in Excel.


Tipps für Profis

  • Nutze die Community: Tritt Online-Foren oder Benutzergruppen bei, die sich mit OpenOffice beschäftigen. Hier kannst du wertvolle Tipps und Tricks von erfahrenen Nutzern erhalten.

  • Verwende den Makro-Rekorder: Der Makro-Rekorder in OpenOffice kann dir helfen, grundlegende Aktionen aufzuzeichnen, die du später anpassen kannst.

  • Halte deinen Code sauber: Achte darauf, dass dein Code gut strukturiert ist, um späteres Debugging zu erleichtern. Kommentare helfen dir, den Überblick zu behalten.


FAQ: Häufige Fragen

1. Ist es schwierig, von Excel auf OpenOffice umzusteigen?
Der Umstieg kann herausfordernd sein, insbesondere wenn du viele VBA-Makros verwendest. Es erfordert Zeit und Geduld, aber mit den richtigen Ressourcen kannst du es schaffen.

2. Gibt es eine Möglichkeit, VBA-Makros automatisch zu konvertieren?
Momentan gibt es keine vollautomatische Lösung, aber einige Tools können dir helfen, den Prozess zu erleichtern. Oft ist es jedoch notwendig, die Makros manuell anzupassen.

3. Wie kann ich OpenOffice in der Firma einführen?
Präsentiere den Entscheidungsträgern die Vorteile von OpenOffice, wie die Kostenersparnis und die Unterstützung von Open-Source-Software. Bereite auch Schulungsressourcen vor, um den Mitarbeitern den Übergang zu erleichtern.

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