[Solved] Wstawienie grafiki z listy rozwijanej

Dyskusje dotyczące tworzenia makropoleceń, pisania skryptów oraz programowania przy użyciu UNO

[Solved] Wstawienie grafiki z listy rozwijanej

Postprzez kturendyk » N gru 03, 2017 10:29 am

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) Pobrane 8 razy
Ostatnio edytowano Pn gru 04, 2017 9:40 am przez kturendyk, łącznie edytowano 1 raz
Apache OpenOffice 4.1.4, Windows 8.1
kturendyk
 
Posty: 30
Dołączył(a): Pt sty 22, 2016 4:59 pm

Re: Wstawienie grafiki z listy rozwijanej

Postprzez belstar » N gru 03, 2017 11:07 pm

kturendyk napisał(a):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   Rozszerz widokZwiń widok
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
belstar
 
Posty: 637
Dołączył(a): Cz mar 17, 2011 9:08 am

Re: Wstawienie grafiki z listy rozwijanej

Postprzez kturendyk » Pn gru 04, 2017 9:35 am

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) Pobrane 12 razy
Apache OpenOffice 4.1.4, Windows 8.1
kturendyk
 
Posty: 30
Dołączył(a): Pt sty 22, 2016 4:59 pm


Powrót do Makra i programowanie

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość