Makro auf geschütze Zelle anwenden?

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

gurkende_gurke
**
Beiträge: 42
Registriert: So, 21.09.2008 16:42

Makro auf geschütze Zelle anwenden?

Beitrag von gurkende_gurke »

Hi, ich habe folgende Frage:
Ist es möglich eine Zelle zu schützen auf die ein makro angewendet wird?
mit "Zelle Sperren" und "Tabelle schützen" geht das nicht, da dann kein Makro mehr auf die Zelle angewendet werden kann. Danke im Vorraus für jede Hilfe :D

mfg gurke
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Makro auf geschütze Zelle anwenden?

Beitrag von Stephan »

ich verstehe den Hintergrund der Frage nicht, das 'übliche' Vorgehen wäre den Zellschutz per Makro zu entfernen, dann die gewünschte Änderung an der Zelle per Makro zu machen und abschliessend den Zellschutz per Makro wieder zu setzen.
Was spricht dagegen so vorzugehen?


Gruß
Stephan
gurkende_gurke
**
Beiträge: 42
Registriert: So, 21.09.2008 16:42

Re: Makro auf geschütze Zelle anwenden?

Beitrag von gurkende_gurke »

Normalerweise nichts, hab mein Makro auch so geschrieben. Also erst Protect=false dann die formel und dann protect=true. Aber ich habe ein großes Problem damit. Kann dann das Makro nicht mehr bei "Drucken" ausführen, da drucken das protecten und unprotecten der Tabelle unterdrückt. :( Scheint ein bug zu sein. Jmd ne Idee wie das zu lösen ist?

mfg gurke
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Makro auf geschütze Zelle anwenden?

Beitrag von komma4 »

Idee?
Ein timing-Problem beim Drucken? Kannst Du Deinen Code mal zeigen (Passwort maskieren!)
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
gurkende_gurke
**
Beiträge: 42
Registriert: So, 21.09.2008 16:42

Re: Makro auf geschütze Zelle anwenden?

Beitrag von gurkende_gurke »

Klar kann ich den code zeigen. ein passwort hab ich sowieso nicht... (is nur damit niemand aus versehen Code löscht...)

Code: Alles auswählen

sub ReNr
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(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Protect"
args1(0).Value = false

dispatcher.executeDispatch(document, ".uno:Protect", "", 0, args1())
thisComponent.sheets(0).getcellrangebyname("K22").value =_
thisComponent.sheets(0).getcellrangebyname("K22").value + 1
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Protect"
args2(0).Value = true

dispatcher.executeDispatch(document, ".uno:Protect", "", 0, args2())


end sub
Wie gesagt bei anderen Ereignissen wie bei Speichern funktioniert alles wunderbar, halt nur nicht bei drucken. Vielen Dank im vorraus für jede Hilfe. K22 ist übrigens meine Rechnungsnummernzeile...

mfg gurke
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Makro auf geschütze Zelle anwenden?

Beitrag von komma4 »

mmm, vielleicht ... ist beim Drucken der frame nicht greifbar.

Versuche mal:

Code: Alles auswählen

oSheet = ThisComponent.Sheets( 0 )
oSheet.Unprotect( "" )
oSheet.getCellRangeByName( "K22" ).value =_
oSheet.getCellRangeByName( "K22" ).value + 1
oSheet.Protect( "" )
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
gurkende_gurke
**
Beiträge: 42
Registriert: So, 21.09.2008 16:42

Re: Makro auf geschütze Zelle anwenden?

Beitrag von gurkende_gurke »

Funktioniert jetzt. Vielen Dank :D

mfg gurke
Antworten