Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 Re: Calc » Calc makro kopírování hodnoty z buňky - VYŘEŠENO » 13. 3. 2013 14:29:45

Velice děkuji uživateli neutr za podporu. Sám bych to zatím dohromady nedal. Budu se těšit na další vyřešené problémy.

#2 Re: Calc » Calc makro kopírování hodnoty z buňky - VYŘEŠENO » 13. 3. 2013 10:06:18

Finální sešit by měl vypadat tak, jako na obrázku.
http://oxygenium.rajce.idnes.cz/calc#Printscreen.jpg
S tím, že potřebuji vkládát hodnotu, jak jsem psal výše.

#3 Re: Calc » Calc makro kopírování hodnoty z buňky - VYŘEŠENO » 13. 3. 2013 09:48:41

Dobrý den. Potřebuji pouze poradit, jak upravit cílovou oblast

dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$A$2"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())

tak, aby se hodnota nevkládala pouze do buňky A2. Když kliknu do A3 a tlačítkem spustím makro, aby se hodnota vložila do A3, když kliknu do A4 tlačítkem spustím makro, aby se vložila do A4 atd. Vždy pouze ve sloupci A. Makro zaznamenané mám, přiřazené tlačítko mám. Jenom nevím, jak mám upravit tu cílovou oblast. V Calcu jsem úplný začátečník. Děkuji za radu, jak změnit syntaxi.

#4 Re: Calc » Calc makro kopírování hodnoty z buňky - VYŘEŠENO » 12. 3. 2013 21:51:16

Aha, tak už rozumím, co je inputbox. Ještě bych si troufnul požádat, aby vkládání té hodnoty probíhalo pokud možno bez inputboxu pouze spuštěním makra do sloupce A posloupně do dalšího a dalšího řádku, vždy když makro spustím. Např. kliknu do A2, spustím makro a vloží se mi hodnot, v mém případě datum. Stejný proces se zopakuje, pokud kliknu do A3, A4 atd. Děkuji.

#5 Re: Calc » Calc makro kopírování hodnoty z buňky - VYŘEŠENO » 12. 3. 2013 20:49:37

Dobrý den. Bohužel nemám ponětí co je inputbox a jak ho používat ani jak ho postavit na začátek deklarace, natož abych věděl, co znamená deklarace. Můžete mi to, prosím, vysvětli jako opravdovému laikovi? Nebo pokud možno napsat celý kód. S psaním kódu makra nemám opravdu zkušenost. Předem děkuji.

#6 Calc » Calc makro kopírování hodnoty z buňky - VYŘEŠENO » 12. 3. 2013 16:43:04

mmichalcontasrocz
Odpovědí: 10

Dobrý den. Řeším problém jak vložit hodnotu z jedné buňky do kterékoliv buňky ve stejném listu za pomocí makra. Pro tento účel jsem si pomocí záznamníku zaznamenal makro se syntaxí viz. níže, ale bohužel se mi hodnota z buňky K2, kde je vzorec =now() vkládá vždy do buňky A2. Potřebuji, aby to bylo možné do kterékoliv buňky ve stejném listu a ne pouze do A2. Můžete pomoct? Jsem úplný začátečník v Calcu, doteď jsem pracoval pouze s Excelem.

Syntaxe:

REM  *****  BASIC  *****

sub datumcas
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 = "$K$2"

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

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

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

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

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

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

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

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

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

rem ----------------------------------------------------------------------
dim args7(1) as new com.sun.star.beans.PropertyValue
args7(0).Name = "By"
args7(0).Value = 1
args7(1).Name = "Sel"
args7(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args7())

end sub

Zápatí

Používáme FluxBB