Strona 1 z 1
[SOLVED] Wstawianie formuły do komórki
: ndz cze 01, 2014 7:13 pm
autor: Emart22
Witam
Nie wiem dlaczego nie działa wstawianie formuły do komórki za pomocą makra. Oto kod:
Kod: Zaznacz cały
Sub Main
oSheet = thisComponent.Sheets.getByName("Arkusz1")
oCell = oSheet.getCellByPosition(0,0)
oCell.setFormula("=Suma(A2+A3)")
End Sub
Niby proste a nie mogę ogarnąć. Jeżeli we wstawionej formule skasuję jakikolwiek znak i wstawię go tam znowu wtedy formuła działa. Proszę o wyjaśnienie
Re: Wstawianie formuły do komórki
: ndz cze 01, 2014 8:49 pm
autor: belstar
Emart22 pisze:Nie wiem dlaczego nie działa wstawianie formuły do komórki za pomocą makra.
W tym przypadku musisz podawać angielskie odpowiedniki nazw funkcji
Kod: Zaznacz cały
Sub Main
oSheet = thisComponent.Sheets.getByName("Arkusz1")
oCell = oSheet.getCellByPosition(0,0)
oCell.setFormula("=Sum(A2+A3)")
End Sub
Jeśli chcesz podawać polskie nazwy musisz użyć metody
setFormulaLocal, przy założeniu że używasz polskiej lokalizacji.
Re: Wstawianie formuły do komórki
: ndz cze 01, 2014 10:07 pm
autor: Emart22
Rzeczywiście z angielską wersją nazw działa. Ale nie działa setFormulaLocal, czyli rozumiem, że nie używam polskiej lokalizacji- gdzie się to ustawia?
Re: Wstawianie formuły do komórki
: ndz cze 01, 2014 10:49 pm
autor: belstar
Jeżeli interfejs jest po polsku to jest polska lokalizacja.
W poprzednim poście wprowadziłem cię w błąd - sorry, ale pisałem z pamięci a z tą bywa różnie. Faktem jest że nie ma metody setFormulaLocal, ale jest właściwość FormulaLocal i w tym przypadku kod powinien wyglądać tak:
Kod: Zaznacz cały
Sub Main
oSheet = thisComponent.Sheets.getByName("Arkusz1")
oCell = oSheet.getCellByPosition(0,0)
oCell.Formulalocal = "=Suma(A2+A3)"
End Sub
Re: Wstawianie formuły do komórki
: ndz cze 01, 2014 11:42 pm
autor: Emart22
Wielkie dzięki za pomoc