[Solved] Wstawienie grafiki z listy rozwijanej

Dyskusje dotyczące tworzenia makropoleceń, pisania skryptów oraz programowania przy użyciu UNO
kturendyk
Posty: 30
Rejestracja: pt sty 22, 2016 4:59 pm

[Solved] Wstawienie grafiki z listy rozwijanej

Post autor: kturendyk »

Witam.
Próbuję napisać makro za pomocą którego zautomatyzuję sobie dodawanie grafiki do kart arkusza.
Potrafię wydobyć nazwy plików znajdujących się na dysku komputera ale nie wiem jak je dodać do menu kontekstowego w oknie dialogowym.
Chodzi mi o to żeby z listy rozwijanej wybrać nazwę pliku a resztę już zrobi makro.
Dodaje w załączniku przykładowy arkusz z prawie działającym makrem.
proszę o podpowiedź jak wydobyć nazwy plików i wstawić je do "additems"
Pozdrawiam.
Załączniki
wstaw grafikę.ods
(11.69 KiB) Pobrany 195 razy
Ostatnio zmieniony pn gru 04, 2017 9:40 am przez kturendyk, łącznie zmieniany 1 raz.
Apache OpenOffice 4.1.4, Windows 8.1
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: Wstawienie grafiki z listy rozwijanej

Post autor: belstar »

kturendyk pisze:proszę o podpowiedź jak wydobyć nazwy plików i wstawić je do "additems"
Basic Guide
addItems (ItemArray, Pos)
enters the entries listed in the string's ItemArray data field into the list at the Pos position
Co to oznacza?
Ano to że musi to być tablica elementów, a twoja zmienna nie jest tablicą.
Poniżej rozwiązanie, bez wielkich przeróbek,

Kod: Zaznacz cały

 While NextFile <> ""
   	if AllFiles ="" then 
   		AllFiles = NextFile
   	else
     	AllFiles = AllFiles & "," & NextFile
    end if 
     	NextFile = Dir    
   Wend
   Tablica = Split(Allfiles, ",") 
'msgBox Allfiles 

Dim libStandard                                         'otwarcie okna dialogowego
  Dim libDialog
  DialogLibraries.loadLibrary("Standard")  
  libStandard = DialogLibraries.getByName("Standard")
  libDialog = libStandard.getByName("wstawgrafike")'W cudzysłowiu wpisać nazwe okna dialogowego z zakładki
Dlg = CreateUnoDialog(DialogLibraries.Standard.wstawgrafike)
   libStd = DialogLibraries.getByName("Standard")
   libDlg = libStd.getByName("wstawgrafike")
   dlg = CreateUnoDialog(libDlg)

	zdj = dlg.getcontrol("ComboBox1") 'utworzenie listy wyboru towaru   
     zdj.additems(Tablica ,0) 
LibreOffice 5.1.2.2 Ubuntu 16 LTS
kturendyk
Posty: 30
Rejestracja: pt sty 22, 2016 4:59 pm

Re: Wstawienie grafiki z listy rozwijanej

Post autor: kturendyk »

Witam.
Dziękuję za pomoc.
Jestem domowym samoukiem w pisaniu makr i o tablicach nawet nic nie wiedziałem.
Poprawiłem makro i teraz działa jak chciałem.
Dołączę plik z działającym makrem na pewno się komuś przyda
Pozdrawiam wszystkich czytających.
Załączniki
wstaw grafikę.ods
(13.73 KiB) Pobrany 192 razy
Apache OpenOffice 4.1.4, Windows 8.1
ODPOWIEDZ