Hallo Marsl,
Bei StarBasic/OO Calc bin
ich grad noch auf der Suche nach einer vergleichbaren Lösung.
Leider sind die meisten hier bei WWW eher MS-affin… 
ja, ist so, deshalb schrieb ich ja irgendwo zu dir daß du in
einem
Calc-Forum mehr Chancen hättest.
Das ist ja das Leidige im Netz: für jede kleine Frage, die du zu einem bestimmten Thema hast, gibt es ein eigenes Forum, bei dem du dich jedoch jedes Mal vorher registrieren musst, um etwas zu fragen.
Ich bete zu werweißwem, dass das nicht im realen Leben die Schule macht…!
„Guten Tag, ich hätte gern 5 Brötchen und eine Packung Zigaretten…“
„Gern! Ihren Mitgliedsausweis bitte…“
Oder dieser Dannenhöfer dein Freund ist/wäre
:
http://www.dannenhoefer.de/faqstarbasic/WiekannArbei…
Den kenne ich (also seine Seite), allerdings hören die meisten Tipps da auf, wo meine Frage losgeht. Such doch mal nach einem Codebeispiel, welches dir die aktuelle Cursorposition (aktive Zelle) ermittelt… Bei Danni findest du da viel, allerdings steht immer irgendwo im Code …getbyposition(x,y)
Wie schwierig, eine Zelle anzusprechen, von der ich vorher die Koordinaten festgelegt habe!
Wie hast du dir dein StarBasic Wissen eigentlich erworben?
Gezwungenermaßen auf Arbeit, da man hier (noch) OO statt MS nutzt. Allerdings muss ich sagen, dass mir mein VB-Wissen (Grundlagen!) doch schon ne ganze Ecke weiter geholfen hat bei Starbasic (sprich: ßtarrbassitsch) 
Ich habe da auch schon in StarBasic paar Prozeduren codiert aber für :10 Codezeilen brauche ich 2-3 Stunden Recherche im Internet
((
Denn in der für mich gewöhnungsbedürftigen Hilfe
Ach was…? Die ist doch toll…! *fg*
finde
ich im Normalfall grad mal nix. Logisch, in Excel-Vba heißt
das
.Visible , wenn ich danach in der Hilfe suche kommt leider
kein
Hinweis daß es dort .isvisible heißt.
Volltextsuche? Was ist das?
Ergo finde ich nix.
Und wenn du deine ganzen Codes die du hier zeigtest alle auf
meine
Art erstellt hast, also Internetrecherche, Respekt.
Ich habe ein sehr offenes Ohr wenn du da gute Links kennst,
gute StarBasic Foren, Tutorials usw.
www.openoffice.org hilft da eine ganze Ecke weiter!
In der Tat, aufgezeichnete Makros in Calc-Basic haben
da dieses Dispatcher, Uno usw. Zeugs, das ist eine neue
unbekannte Welt für mich.
Das ist MwieMichael auch klar wenn er den aufgezeichnten Code
sieht.
Wer kann mir dazu hilfreiche Tipps geben? Gern auch per
Makro/EventListener, da eh schon vorhanden…
Magst du mir bitte mal verklickern was du da immer mit
EventListener
meinst? Was genau bedeutet das in OO-Calc-Basic?
Events=Ereignisse ist mir klar. Das hat Excel-Vba auch in
Klassenmodulen.
Ob und in welcher Form es das in XL gibt, weiß ich gar nicht (weil in VB noch nie so tief eingestiegen, um darauf zu stoßen).
Ich finde diese Eventlistener/-handler (das Meiste habe ich mir ausm Netz zusammenkopiert und angepasst, hat auch etwas gedauert…) sehr praktisch: du kannst mit ihnen so gut wie alles überwachen, was man mit Calc tun kann und eine bestimmte Aktion (Makroausführung) an eine Bedingung knüpfen, z.b. Spalten/Zeilen aus-/einblenden, wenn in Zelle XY dieser oder jener Wert steht.
hier mal ein Beispiel, wie schön man sowas u.U. erklärt bekommen kann:
http://www.openoffice-forum.de/viewtopic.php?f=5&t=398
Wie z.B. in dem automatisch bei Mappenerstellung angelegten
Klassenmodul namens „Tabelle1“. Dort stehen von Haus
verschiedene
Ereignisprozedur-Hüllen zur Verfügung.
Wie z.B.
**Private Sub Worksheet_Change(ByVal Target As Range)
End Sub**
Wenn ich jetzt in diese Prozedurhülle innen reichnschreibe
Msgbox „Änderung stattgefunden“
würde bei jeder Zellwertänderung (Change) in diesem Blatt
die MsgBox kommen.
So. was ist jetzt ein Eventlistener?
Ähm… Jo! Nur, dass der nicht schon vorbereitet auf seinen Einsatz wartet sondern erst gebaut werden muss. Hat Vor- und Nachteile…
(Zeit Aufwand…)
In wie weit ließe sich denn dein VB-Beispiel auf eine konkrete Zelle anpassen? Wenn ich bisher „ByVal“ gelesen habe, hab ich immer zurück geklickt oder weitergescrollt. Ist mir aus irgend einem Grund suspekt. Das gibts ja auch bei OO, diese ByVal, aber ich habe bisher noch keine Veranlassung gesehen, mich näher damit zu beschäftigen.
Werde aber demnächst mal deinen Code in OO kopieren und schauen, was passiert… Try and Error…
Etwas anderes vllt. kannst du mir dabei helfen.
Wenn ich in einem Modul in StarBasic mehrere Prozeduren habe
und
jetzt eine davon ausführen lassen will, wie mache ich das
denn?
Auch wenn ich den Cursor in die zweite, dritte Prozedur stelle
und
dann F5 drücke so wird IMMER nur die erste Pozedur ausgeführt
*fluch*
Wie starte ich im Editor eine Prozedur die nicht die oberste
ist?
Dafür habe ich auch nur zwei Lösungen:
a) die zu bearbeitende Prozedur nach oben verschieben (cut+paste)
oder
b) gleich für jede ein eigenes Modul aufmachen (aber ich fürchte, dann musst du von Anfang an viele deiner Variablen global (=private?) deklarieren…
Zur Belohnung daß du a) bis hierher fleißig mitgelesn hast
(ja, ich weiß, ich kann mich schwer kurzfassen *lächel* eine
Belohnung.
Gestern habe ich nämlich etwas gefunden im Internet was ich
sehr
gerne schon vor zwei Jahren gefunden hätte wo ich mit meinen
spärlichen StarBasic Ausflügen begann, hätte mir viel, viel
Zeit gespart.
Denn ich fand den Stein des Weisen oder so, ich fand heraus
wie man
Excel-Vba Code in Starbasic zum Laufen bekommen kann.
Das Finden war gestern Abend und ich habe nur den Code
getestet den
ich gleich zeige. Lief problemlos.
Das läßt mich hoffen daß auch anderer Vba-Code läuft.
Wenn du kein Excel-Vba kannst so wäre das dann unwichtig, hier
sind
einige die dadrin sehr gut sind.
Hier der Code:
Option VBASupport 1
Option Compatible
Sub Aus
dim N
for N = 2 to worksheets.count
worksheets(n).visible=false
next n
End Sub
Sub Ein
dim N
for N = 2 to worksheets.count
worksheets(n).visible=true
next n
End Sub
Gruß
Reinhard
Selbst wenn das funktioniert (.visible/.ISvisible ?), hat es einen entscheidenden Haken:
Du kannst mit OO-SB per Makro nicht auf ausgeblendete Tabellenblätter zugreifen! (zumindest konnte mir noch niemand sagen, wie es geht…)
Ich habe es geschafft, die ungewünschten TB auszublenden, aber alle Verweise auf diese liefen daraufhin gegen die Wand (ref!)!
Allerdings gibt es die Möglichkeit, die Inhalte der TB komplett auszublenden und gegen Veränderungen zu schützen (was mein Ziel dabei war). Zelleigenschaften-Schutz-Alles ausblenden, dann den TB-Schutz an.