Seite 1 von 1

DisplayAlerts / Formelergebnisse speichern

Verfasst: Fr, 22.01.2010 16:27
von Tictac
Hallo alle zusammen

Ich stehe momentan vor einem kleinen Problem.
Ich habe eine Calc Datei mit mehreren Formeln. Nun will ich die Werte in dieser Datei permanent Speichern, damit ich diese Datei verschicken kann und die Berechnung nicht mehr nachvollziehbar ist.

Also mache ich das über "Kopieren" und "Inhalte Einfügen"

Allerdings muss ich das ganze in sehr vielen Tabellen machen. Also perfektes Beispiel für ein Makro.
Der Makrorekorder liefert mir folgendes Makro

Code: Alles auswählen

sub InsertContents
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 = "ToPoint"
args1(0).Value = "$A$1:$K$9"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())



rem ----------------------------------------------------------------------
dim args6(0) as new com.sun.star.beans.PropertyValue
args6(0).Name = "ToPoint"
args6(0).Value = "$A$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args6())

rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:CloseAllPopupWindows", "", 0, Array())

rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:CloseAllPopupWindows", "", 0, Array())

rem ----------------------------------------------------------------------
dim args9(5) as new com.sun.star.beans.PropertyValue
args9(0).Name = "Flags"
args9(0).Value = "SVDNT"
args9(1).Name = "FormulaCommand"
args9(1).Value = 0
args9(2).Name = "SkipEmptyCells"
args9(2).Value = false
args9(3).Name = "Transpose"
args9(3).Value = false
args9(4).Name = "AsLink"
args9(4).Value = false
args9(5).Name = "MoveMode"
args9(5).Value = 4

dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args9())


end sub


Nun habe ich allerdings das Problem, dass ich beim Einfügen jedes mal gewarnt werde, weil die Zellen schon Inhalte haben.
Dies will ich verhindern. Allerdings will ich die Warnung auch nicht dauerhaft deaktivieren.

In Excel gab es für so einen Fall den Befehl
Application.displayAlerts = false

Hat jemand eine Ahnung wie ich das in OOo Basic umsetzen kann?

Oder noch besser hat jemand eine Alternative zum "UNO-Code" für das Copy and Paste

Re: DisplayAlerts / Formelergebnisse speichern

Verfasst: Fr, 22.01.2010 19:26
von steffn
Was wäre mit einer neuen Datei oder Tabellenblatt?

Re: DisplayAlerts / Formelergebnisse speichern

Verfasst: Sa, 23.01.2010 01:19
von Tictac
Ein Kumpel hat mich auch schon auf eine andere Idee gebracht

Wenn ich das ganze Kopiere muss ich eh alles makieren

danach noch kurz ein Löschen drauf und dann erst einfügen und schon ist die Ursache der Meldung verschwunden