Poprzednio wszystkie formanty bazy były zamieszczone bezpośrednio w arkuszu nr 1. Teraz chcę to wszystko przenieść do okna dialogowego nr 1. Problemem jest kopiowanie zakresu. Makro ZAPIS wywołane przez przycisk ZAPIS umieszczony w arkuszu pracuje sprawnie. To samo makro wywołane przyciskiem z okna dialogowego nie kopiuje danych chociaż dokonuje zapisu.
Kod: Zaznacz cały
sub ZAPIS
'print "wiersz zlecenia - zapis 1 =" , wierszzlecenia
dim okartkaarkusza as object, oobszarzrodlowy as object, wspolrzedneklejenia as object, szu as string
if AKTYWNEZLECENIE = FALSE then
msgbox("Zlecenie NIE jest aktywne - nie mam co zapisać!",305,"Informacja systemu")
goto koniec : end if
if NOWEZLECENIE=TRUE or AKTYWNEZLECENIE=true then : goto dalej : endif
okno=msgbox("Potwiedź zapis zlecenia !!!",305,"Informacja systemu")
if okno=2 THEN : goto koniec : end if
if AKTYWNEZLECENIE=TRUE THEN
dalej:
'print "wiersz zlecenia: ",wierszzlecenia
oObszarZrodlowy = baza.getCellRangeByPosition(0,1,26,1).RangeAddress
WspolzedneWklejenia = baza.getCellByPosition(0,wierszzlecenia).CellAddress
baza.CopyRange(WspolzedneWklejenia, oObszarZrodlowy)
print "przeniosłem"
'NORMA
AKTYWNEZLECENIE=false : NOWEZLECENIE=false
end if
zapisuj:
NOWYKLIENT=false
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:Save", "", 0, Array())
koniec:
'print "wiersz zapis 2 =" , wierszzlecenia
End Sub
Problem drugi: List box z w arkuszu posiada możliwość zaznaczenia zakresu komórek z którego ma otrzymać dane np. Arkusz1.A1:A10. Listbox z okna dialogowego tej opcji nie ma. Wkopiowałem więc do niego cały zakres A1:A10 i jest OK, ale w poprzednim "wcieleniu" ostania pozycja występuje w listboxie jako pierwsza - i tak ma być. W listboxie z Dialogu jest na odwrót i nie mogę tego zmienić. Jak tego dokonać?
Wszytko robię obecnie w OOCalc, gdyż z LOCalc miałem problemy.
Pozdrawiam i proszę o pomoc.