Marko importujace dane XML z url

Makropolecenia i funkcje w języku Basic
eerozeteen
Posty: 1
Rejestracja: pt paź 05, 2012 12:05 pm

Marko importujace dane XML z url

Post autor: eerozeteen »

Witam,

Potrzebuje pomocy przy dodaniu funkcjonalnosci do istniejacego marka, ktore znalazlem w internecie. Makro ma za zadanie wypelnic arkusz danymi z pliku .xml z url. Oczywisice odpowiedni filtr xml mam zapisany.

Aktualnie makro działa tak, ze przy uruchomieniu, otwiara nowy dokument i dane wprowadza w arkuszu o nazwie "" (null)

Chcialbym, aby makro zapisywało dane we wskazanym arkuszu (nazwa "na sztywno" w makrze) w aktualnie otwartym pliku.

Kod: Zaznacz cały

Sub GetEveCentralPrices

rem -------------------------------------------------------
rem - Init import URL
dim xmlurl as string
xmlurl = "http://api.eve-central.com/api/marketstat?typeid=34&typeid=37&typeid=38&regionlimit=10000002" 

rem -------------------------------------------------------
rem - Import payments
dim properties(0) as new com.sun.star.beans.PropertyValue
properties(0).Name = "FilterName"
properties(0).Value = "MarketStat"

dim doc As Object
doc = StarDesktop.loadComponentFromURL(xmlurl, "_blank", 0, properties())

End Sub
Nie musi to byc jakieś gotowe rozwiązanie, moze to byc przyklad i ewentualnie podpowiedz jak to zrobic i jakiej funkcji uzyc, i jak ewentualnie wtedy sobie nie poradzę to poprosze o gotowe rozwiazanie ;)

Pozdrawiam
Jan_J
Posty: 4557
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Makro importujace dane XML z url

Post autor: Jan_J »

Wg mnie trzeba by linkować Twój URL do obszaru w istniejącym albo nowo wstawionym arkuszu.
Znajdziesz coś podobnego w http://www.oooforum.org/forum/viewtopic ... ht=#365860. Jedyne różnice, to wg mnie używać adresu URL zamiast file i Twojego filtra zamiast tekstowego "Text - txt - csv (StarCalc)".

Inna metoda to wczytać dane do pliku tymczasowego, nawet bez pokazywania go, a potem przekopiować je w pożądane miejsce. Ukrytą ramkę zrobisz np. tak:

Kod: Zaznacz cały

url = ....
dim properties(1) as new com.sun.star.beans.PropertyValue
properties(0).Name = "FilterName"
properties(0).Value = "Text - txt - csv (StarCalc)" ' albo inny
properties(1).Name = "Hidden"
properties(1).Value = True
dim doc As Object
doc = StarDesktop.loadComponentFromURL(url, "_blank", 0, properties())
JJ
LO (7.6) ∙ AOO (4.1) ∙ Python (3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
ODPOWIEDZ