Strona 1 z 1

[Solved] Wstawienie grafiki z listy rozwijanej

: ndz gru 03, 2017 10:29 am
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.

Re: Wstawienie grafiki z listy rozwijanej

: ndz gru 03, 2017 11:07 pm
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) 

Re: Wstawienie grafiki z listy rozwijanej

: pn gru 04, 2017 9:35 am
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.