/ / Vytváranie Excel "spinners" s Pythonom v openpyxl - python, excel, vba, excel-vba

Vytváranie Excel "spinners" s Pythonom v openpyxl - python, excel, vba, excel-vba

Píšem Excel list z Pythonu, pomocou openpyxl a chcel by som vložiť "práčky"do listu.

Tak doteraz som nemohla nájsť nič. Som otvorený aj na používanie iných balíkov programu Python.

Ak sa to nedá urobiť, existuje ďalší spôsob, ako to urobiť? Myslel som niečo v duchu písania makra z Pythonu a nejako ho zlúčiť s listom programu Excel?

odpovede:

1 pre odpoveď č. 1

Zdá sa, že tu že openpyxl nepodporuje ovládacie prvky ActiveX a budú zlikvidované, ak sa zošit spracuje pomocou openpyxl.


Ak máte nainštalovaný program Excel, všetky tieto informácie by mali byť dostupné cez pywin32.

Tu je dobrý prehľad k rôznym typom ovládacích prvkov, ktoré sú k dispozícii pre program Excel

Zdá sa, že existujú dva typy ovládacích prvkov, ktoré môžu byť vložené do pracovného hárka programu Excel:

  • Ovládacie prvky programu Excel (staršie, spätne kompatibilné s aplikáciou Excel 5)
  • Ovládacie prvky ActiveX (novšie a prispôsobiteľné)

Ovládacie prvky programu Excel

Automatizácia programu Excel Worksheet objekt má metódu nazvanú Spinners, ktorý sám má metódu Add, Kód VBA vyzerá takto (generovaný pomocou rekordéra makra):

ActiveSheet.Spinners.Add(816, 36, 92.25, 49.5)

Nepodarilo sa mi nájsť žiadnu dokumentáciu k programovému pridávaniu týchto ovládacích prvkov.


Ovládacie prvky ActiveX

Zdá sa, že sú to štandardné formuláre spoločnosti Microsoft zdokumentované tu, Konkrétne je zdokumentované ovládanie SpinButton tu.

Pomocou zariadenia Macro Recorder získam nasledujúce informácie:

ActiveSheet.OLEObjects.Add(ClassType:="Forms.SpinButton.1", Link:=False, _
DisplayAsIcon:=False, Left:=633, Top:=47.25, Width:=58.5, Height:= _
62.25)