DisplayAlerts / Formelergebnisse speichern
Verfasst: Fr, 22.01.2010 16:27
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
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
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