Pusta komórka z poziomu makra-problem

Użytkowanie arkusza kalkulacyjnego
wojtul60
Posty: 32
Rejestracja: sob sie 29, 2015 7:52 pm

Pusta komórka z poziomu makra-problem

Post autor: wojtul60 »

Witam!!!
Mam taki problem- mam komórkę sformatowaną jako numer.
W makrze chciałbym tą komórkę wykasować- żeby była pusta.
Nie potrafię dojść jak to zrobić- cały czas mam w niej 0
Może ktoś pomóc???
Pozdrawiam
open Office 4 na win7
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: Pusta komórka z poziomu makra-problem

Post autor: belstar »

Pokaż to makro.
LibreOffice 5.1.2.2 Ubuntu 16 LTS
wojtul60
Posty: 32
Rejestracja: sob sie 29, 2015 7:52 pm

Re: Pusta komórka z poziomu makra-problem

Post autor: wojtul60 »

Witam!!!
W załączniku przykład.
Komórki A0:C0 sformatowane jako tekstowe
Komórka D0 sformatowana jako Liczba
Po wykonaniu makra chciałbym komórkę D0 mieć pustą (jak np. E0)
Próbowałem różnych kombinacji ale nic nie zdziałałem.
Wiem, że w ustawieniach Calca można zaznaczyć opcję żeby zerowe wartości nie były pokazywane, ale nie o to mi chodzi
Pozdrawiam
Załączniki
proba1.ods
(10.03 KiB) Pobrany 200 razy
open Office 4 na win7
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: Pusta komórka z poziomu makra-problem

Post autor: belstar »

Twój kod:

Kod: Zaznacz cały

oCell=oSheet.getcellbyposition(2,0)
oCell.string=""
Powyższa linia ustawia pusty ciąg znaków, nie usuwa zawartości choć efekt jest taki jak oczekujesz.

Kod: Zaznacz cały

oCell=oSheet.getcellbyposition(3,0)
oCell.value=0
W tej części kodu ustawiasz wartość na zero a oczekujesz pustej komórki.

Prawidłowy kod do usuwania zawartości komórek powinien wyglądać tak:

Kod: Zaznacz cały

Sub proba
	Dim oDoc as Object	
	Dim oCell as Object
	Dim oSheet as Object
	
	oDoc = ThisComponent
	oSheet = oDoc.Sheets.getByIndex(0)
	'Usuwanie zawartości
	With com.sun.star.sheet.CellFlags
		flagi = .STRING + .VALUE + .DATETIME + .FORMULA
		'flagi = 4 + 1 + 2 + 16
		'Wartośći flag
		'STRING = 4 
		'VALUE = 1
		'DATETIME = 2
		'FORMULA = 16
		'Więcej na
		'http://www.openoffice.org/api/docs/common/ref/com/sun/star/sheet/CellFlags.html
	End With
	For i = 0 To 3
		oCell=oSheet.getCellByPosition(i, 0)
		oCell.clearContents(flagi)
	Next i
End Sub
W którymś poście sugerowałem zainstalowanie dodatków pomocnych przy programowaniu, koniecznie wypróbuj.
https://wiki.openoffice.org/wiki/Docume ... /UNO_Tools

Formatuj kod zgodnie z regułami, a łatwiej ci będzie ogarnąć swój kod i dobre nawyki wejdą ci w krew.
LibreOffice 5.1.2.2 Ubuntu 16 LTS
wojtul60
Posty: 32
Rejestracja: sob sie 29, 2015 7:52 pm

Re: Pusta komórka z poziomu makra-problem

Post autor: wojtul60 »

Witam!!!
Wielkie dzięki za rozwiązanie.
Tak głęboko nie siedzę- a w tym materiale co przeglądałem nic o flagach nie było.
Na pewno się przyda.
Pozdrawiam
open Office 4 na win7
wojtul60
Posty: 32
Rejestracja: sob sie 29, 2015 7:52 pm

Re: Pusta komórka z poziomu makra-problem

Post autor: wojtul60 »

Podsyłam ponownie przykładzik.
Jak ustawiam tło przycisku umieszczonego w arkuszu to jest OK
Jak ustawiam to samo w oknie dialogowym to efekt jest jak w przykładzie-tylko obwódka przycisku ma ten kolor
Jak to wyjaśnić???
Załączniki
proba1.ods
(10.96 KiB) Pobrany 158 razy
open Office 4 na win7
ODPOWIEDZ