[SOLVED] Makro do zapisywania, wartosc z komorki w nazwie

Użytkowanie arkusza kalkulacyjnego
marvein
Posty: 3
Rejestracja: pt sty 18, 2013 4:05 pm

[SOLVED] Makro do zapisywania, wartosc z komorki w nazwie

Post autor: marvein »

Witam,
Czy ktos moze mi pomóc przy tworzeniu makra w Calc, które bedzie zapisywalo plik jako:

<data z komorki A1>_<wartosc liczbowa z komorki B1>.ods

Z góry wielkie dzieki :D
Ostatnio zmieniony śr sty 23, 2013 11:06 am przez marvein, łącznie zmieniany 1 raz.
OpenOffice 3.1 na Windows Vista
Jan_J
Posty: 4641
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Makro do zapisywania, wartosc z komorki w nazwie pliku

Post autor: Jan_J »

doc = thisComponent
arkusz = ...
nazwa = arkusz.getCellByPosition(0, 0).getString() & "_" & nazwa = arkusz.getCellByPosition(0, 1).getString() & ".ods"
doc.storeAsURL(convertToURL(nazwa))

ew. musisz poprzedzić nazwę pełną lokalną ścieżką dostępu -- nie pamiętam czy funkcja Converttourl to zrobi, a nie mam pod ręką działającego openoffice'a.
JJ
LO (25.2) ∙ Python (3.13|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
marvein
Posty: 3
Rejestracja: pt sty 18, 2013 4:05 pm

Re: Makro do zapisywania, wartosc z komorki w nazwie pliku

Post autor: marvein »

Jan_J pisze:doc = thisComponent
arkusz = ...
nazwa = arkusz.getCellByPosition(0, 0).getString() & "_" & nazwa = arkusz.getCellByPosition(0, 1).getString() & ".ods"
doc.storeAsURL(convertToURL(nazwa))

ew. musisz poprzedzić nazwę pełną lokalną ścieżką dostępu -- nie pamiętam czy funkcja Converttourl to zrobi, a nie mam pod ręką działającego openoffice'a.
Dzieki bardzo za pomoc, ale nie za bardzo rozumiem.
Mozesz mi uzupelnic ta formułę o jakas przykładowa nazwe i arkusz, bo podmieniam ale mi wychodzi 'blad uruchomieniowy'.
Dzieki
OpenOffice 3.1 na Windows Vista
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: Makro do zapisywania, wartosc z komorki w nazwie pliku

Post autor: belstar »

Kod: Zaznacz cały

Sub Zapisz_jako
doc = thisComponent
dim sciezka as String
'Linux
sciezka = "/home/belstar/Dokumenty/"
'Windoiws
'sciezka = "C:\Twoje_dokumenty"
'Pierwszy arkusz
arkusz = doc.sheets.getbyindex(0)
'getCellByPosition(0, 0)= A1 jakaś data, getCellByPosition(1, 0) = B1 jakaś liczba
nazwa = arkusz.getCellByPosition(0, 0).getString() & "_" & arkusz.getCellByPosition(1, 0).getString() & ".ods"
doc.storeAsURL(convertToURL(sciezka & nazwa), Array())
End Sub
LibreOffice 5.1.2.2 Ubuntu 16 LTS
Jan_J
Posty: 4641
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Makro do zapisywania, wartosc z komorki w nazwie pliku

Post autor: Jan_J »

marvein pisze:
Jan_J pisze:doc.storeAsURL(convertToURL(nazwa))
[...] podmieniam ale mi wychodzi 'blad uruchomieniowy'.
Sorry, StoreAsURL() ma w Basicu 2 parametry: nazwę i opcje. Nie miałem Calca żeby sprawdzić, a pamiętałem z Pythona, że format można pominąć jako opcjonalny. Ale w Basicu jest inaczej...
Na szczęście belstar pociągnął wątek -- dzięki.
JJ
LO (25.2) ∙ Python (3.13|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
marvein
Posty: 3
Rejestracja: pt sty 18, 2013 4:05 pm

Re: Makro do zapisywania, wartosc z komorki w nazwie pliku

Post autor: marvein »

Działa.Dokładnie o to mi chodziło :D
Bardzo Wam dziękuję za pomoc.
Pozdrawiam
OpenOffice 3.1 na Windows Vista
gery77
Posty: 22
Rejestracja: czw kwie 04, 2013 11:28 am

Re: [SOLVED] Makro do zapisywania, wartosc z komorki w nazwi

Post autor: gery77 »

Witam,
A ja potrzebuję makro które zmieni nazwę aktualnego dokumentu na podstawie wartości z komórki (przykładowo C9) z arkuszu "wycena"
Libre Office 5.1.5.2
ODPOWIEDZ