Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1148to1152
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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
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
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 :-?
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
Anzeige
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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige