Problem mit globaler Variable zur Stringübergabe

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Problem mit globaler Variable zur Stringübergabe

Re: Problem mit globaler Variable zur Stringübergabe

von weinstein » Mo, 25.08.2008 22:05

Hallo Hans W. Hofmann!

Vielen Dank für den Tipp - jetzt klappt es! da fehlen mir noch einige Hintergrundinformationen, die ich nirgendwo nachlesen konnte ...

Gruß, weinstein

Re: Problem mit globaler Variable zur Stringübergabe

von hawe » Mo, 25.08.2008 13:33

Hallo Weinstein,

wie Du unschwer feststellen kannst ist die Variable Global. Allerdings werden bei jedem Makrostart alle Variableninhalte gelöscht, ganz im Gegensatz zu VBA. Du wirst also ein Ablage-Sheet (ggf. unsichtbar) anlegen müssen, um was zwischen 2 Makroläufen aufzuheben.

Gruß HW
Hans W. Hofmann

Problem mit globaler Variable zur Stringübergabe

von weinstein » Mo, 25.08.2008 10:48

Hallo,

dieser Hilfeaufruf war erst im falschen Forum gelandet, ich hoffe hier ist er richtig!
Ich habe mit der Makroprogrammierung erst vor wenigen Tagen angefangen und habe deshalb ein vermutlich einfaches Problem, dessen Lösung ich aber alleine nicht finde.

Ich habe eine Terminplanung in OOO-Calc, wobei in verschiedene Felder immer wieder die gleichen Daten eingetragen werden sollen.
Immerhin habe ich es geschafft, den Inhalt der aktuellen Zelle testweise auszugeben.
Danach wird der Cursor auf ein anderes Feld gesetzt, hier sollte dann der unformatierte Inhalt des gemerkten Feldes eingetragen werden, ohne die neue Formatierung (Hintergrundfarbe) zu ändern.
Leider wird der Inhalt bei meinem Makro nicht eingefügt, ich habe eher den Eindruck, dass die Variable "oText" trotz globaler Definition nur lokal ist. Bestimmt sind aber wohl noch andere Fehler drin.

Kann mir jemand helfen?
Gruß, weinstein

Und hier mein Programmcode:

Code: Alles auswählen

REM --- Globale Variable für diese Makros
Public oText as String

sub kopiere_text
rem ----- der Inhalt des Feldes soll kopiert werden ---
rem define variables
Dim oTabellenblatt as Object
Dim oCalcDokument as Object
rem ----------------------------------------------------------------------
rem ----- Dokument und Tabelle auswählen
oCalcDokument = ThisComponent
oTabellenblatt = ThisComponent.Sheets().getByName( "B_Terminplan" )
oSelektion = oCalcDokument.getCurrentSelection()
rem ----------------------------------------------------------------------
oText = oSelektion.String
MsgBox oText
end sub

sub fuege_text_ein
rem ----- der Inhalt des gemerkten Feldes soll hier eingefügt werden ---
rem define variables
Dim oCalcDocument as Object
Dim oTabellenblatt as Object
rem ----------------------------------------------------------------------
rem ----- Dokument und Tabelle auswählen
oCalcDokument = ThisComponent
oTabellenblatt = ThisComponent.Sheets().getByName( "B_Terminplan" )
oSelektion = oCalcDokument.getCurrentSelection()
rem ----------------------------------------------------------------------
oSelektion.String = oText
MsgBox oText
end sub

Nach oben