Warunkowe wykonanie makra przy zapisywaniu

Użytkowanie arkusza kalkulacyjnego
golem14
Posty: 4
Rejestracja: pn sty 14, 2013 9:06 pm

Warunkowe wykonanie makra przy zapisywaniu

Post autor: golem14 »

Mam makro "Kopiowanie", które w arkuszu numer 2 wstawia nową kolumnę i kopiuje do niej konkretną kolumnę z arkusza nr 1.
Makro działa, chciałbym jednak podpiąć je pod akcje zapisywania arkusza. Ponadto chciałbym aby przed wykonaniem makra sprawdzany był warunek czy w arkuszu nr 2 znajdują się dane z arkusza numer 1.
Jak rozumiem powinienem więc mieć makro np. "Sprawdzian", które sprawdza czy w komórce A1 arkusza 2 znajdują się dane z komórki A1 arkusza 1 i w wypadku fałszu wykonać makro "Kopiowanie", zaś w wypadku prawdy zakończyć wykonywanie makr. Wtedy mógłbym podpiąć makro "Sprawdzian" pod zdarzenie zapisywania dokumentu nie martwiąc się, że te same dane będą wstawianie do arkusza 2 za każdym zapisywaniem dokumentu.
Bardzo proszę o pomoc w napisaniu makra warunkowego "Sprawdzian"
LibreOffice 6.0.3 na Windows 8.1
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: Warunkowe wykonanie makra przy zapisywaniu

Post autor: belstar »

Kod: Zaznacz cały

Sub Main 
Doc = ThisComponent
Arkusz1 = Doc.Sheets.getByName("Arkusz1")
Arkusz2 = Doc.Sheets.getByName("Arkusz2")
Kom_Arkusz1_A1 = Arkusz1.getCellByPosition(0, 0)
Kom_Arkusz2_A1 = Arkusz2.getCellByPosition(0, 0)

If Kom_Arkusz2_A1.String = Kom_Arkusz1_A1.String then
	Exit sub
Else
 msgbox "tu trzeba wstawić twój kod lub wywołanie twojego makra" & chr(13) & chr(13) & "Cała ta linia do usunięcia"
End If
End Sub
LibreOffice 5.1.2.2 Ubuntu 16 LTS
ODPOWIEDZ