CALC: speichern und löschen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

speednetz
*
Beiträge: 16
Registriert: Mo, 03.01.2011 21:01

CALC: speichern und löschen

Beitrag von speednetz »

Hallo
dies ist mein zweiter Beitrag hier, war aber schon eine Weile lesend hier unterwegs, wobei mir viele Hinweise hier schon weiterhelfen konnten. Ich fange gerade erst damit an, mich in die Makro-Programmierung einzuarbeiten und habe auch sonst noch keine Programmiererfahrung.

Folgendes Problem: Ich habe ein Makro Wochenspeicher dieses speichert meine Datei mit neuem namen in einen neuen Ordner mit Namen Wochenenspeicher.
Bis dahin ist alles in Ordnung.
Nun mein Problem:
Ich möchte gerne das wenn ich dieses Makro starte speichert und in meiner orginal Datei Statistik bestimmte Zellenbereiche gelöscht werden.


Code: Alles auswählen


sub save
oDoc=thisComponent
Sheet = oDoc.Sheets(0)
Cell1 = Sheet.getCellByPosition(0, 00) '<= Das ist der erste Teil Bezug
Cell2 = Sheet.getCellByPosition(1, 00) '<= Das ist der zweite Teil Bezug
Cell3 = Sheet.getCellByPosition(3, 00) '<= Das ist der erste Teil Bezug
Cell4 = Sheet.getCellByPosition(7, 00) '<= Das ist der erste Teil Bezug
Filename = Cell1.String & " " & Cell2.String  & " " & Cell3.String & " - " & Cell4.String & "" 
Path = "file:///C:/Statistik - Kopie/Wochenspeicher/"
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "FilterName"

oDoc.storeasurl(Path & Filename & ".ods",args1())

 
  oSer = createUNOService("com.sun.star.system.SystemShellExecute")
  oSer.execute("C:\Statistik - Kopie\Statistik.ods",,0)


With ThisComponent
 .store
 .close( FALSE )
End With


end sub


Kann mir hier bei jemand helfen wie ich dieses Problem lösen kann.


Ich bedanke mich schon Mal für eure Hilfe bei meinem Problem,
viele Grüße,
Ralf


Moderation,4: Tippfehler in Betreff (für Suchfunktionen) korrigiert
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Mako speicher und löschen

Beitrag von F3K Total »

Hi,
du brauchst nur zwei Zeilen zufügen:

Code: Alles auswählen

oRange = sheet.getcellRangebyName("A1:D6")
oRange.ClearContents(com.sun.star.sheet.CellFlags.VALUE + com.sun.star.sheet.CellFlags.DATETIME + com.sun.star.sheet.CellFlags.STRING + com.sun.star.sheet.CellFlags.FORMULA)
oder kurz:

Code: Alles auswählen

oRange = sheet.getcellRangebyName("A1:D6")
oRange.ClearContents(23)
wobei hier nur Zahlen, Datum-Zeit, Text und Formeln aus dem Zellbereich A1:D6 gelöscht werden. Z.B. die Hintergrundfarbe bliebe erhalten.
Dies sind alle Möglichkeiten:

Code: Alles auswählen

com.sun.star.sheet.CellFlags.VALUE
com.sun.star.sheet.CellFlags.DATETIME
com.sun.star.sheet.CellFlags.STRING
com.sun.star.sheet.CellFlags.ANNOTATION
com.sun.star.sheet.CellFlags.FORMULA
com.sun.star.sheet.CellFlags.HARDATTR
com.sun.star.sheet.CellFlags.STYLES
com.sun.star.sheet.CellFlags.OBJECTS
com.sun.star.sheet.CellFlags.EDITATTR
com.sun.star.sheet.CellFlags.FORMATTED
hier nachzulesen.
Gruß R
speednetz
*
Beiträge: 16
Registriert: Mo, 03.01.2011 21:01

Re: Mako speicher und löschen

Beitrag von speednetz »

Hallo
F3K Total

Ich habe mein anliegen wo nicht richtig beschrieben.

Vielleicht kannst du mir besser helfen wenn du die Datei siehst.



Statistik.ods
(30.46 KiB) 253-mal heruntergeladen
Gruß Ralf
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Mako speicher und löschen

Beitrag von F3K Total »

Kann es sein, dass du nicht so von der fleißigen Sorte bist, und lieber andere arbeiten läßt? Soll ich mir jetzt aus deinen Makros die Zellen, deren Inhalt du löschen möchtest, selber zusammensuchen?
Wie wäre es, wenn du es mal selbst versuchst, die zwei Zeilen, die ich dir geschickt habe, reichen für genau einen Zellbereich.
Du mußt sie natürlich entweder per Schleife, oder durch mehrmaliges untereinanderschreiben mehrfach ausführen, wenn du mehrere Zellbereiche löschen möchtest.
Gruß R
Antworten