Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#26 16. 4. 2022 05:57:54

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Re: Makro export listu do XLSX (VYŘEŠENO)

Děkuji za „pochvalu před nastoupenou jednotkou" :-) Posílám upravenou verzi 5 Uložit jako XLSX_verze5. Tato obsahuje proti verzi4 dvě úpravy a opravu.


     1. úprava se týká rozsahu upravovaných sloupců. Tu jsem nastavil na 20 (počítá se od nuly, takže 21 sloupců), což je vzhledem k Vámi upřesněného počtu 11 dostatečná rezerva. Pokud byste v budoucnu potřeboval změnit rozsah stačí upravit číslo na rozsahu funkce FOR – konkrétně

For i = 0 To 20 ‚původní rozsah 0 To 50

.
     2. úprava se týká vložení kódu, který umí přeskočit některé typy chyb (On Error GoTo 0). To by mohl být dobrý postup vzhledem k tomu, že po odsouhlasení chybové hlášky lze úspěšně uložit opakovaným stisknutím tlačítka. Mohl by to být případ, který na Linuxu zafunguje.


     Oprava chyby, která vznikla mezi klávesnicí a židlí. Při ladění verze 4 jsem ji našel a opravil, ale neuložil a poslal. Přišel jsem na to až když jsem stavěl tuto verzi. Omlouvám se.
     Chyba vznikla na řádku 36 kde mělo být správně „secondDoc.Sheets(0).Columns(i).Width = oSheet.Columns(i).Width", ale pustil jsem tvar „secondDoc.Sheets(0) = oSheet.Columns(i).Width".


Když by to nepomohlo, otestuji ještě další možnosti. Příjemné svátky


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#27 16. 4. 2022 09:28:29

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 171

Re: Makro export listu do XLSX (VYŘEŠENO)

Hází to stále stejnou chybu obě makra. Ale na podruhé stisknutí to jde.
Je to furt rychlejší než pouštět makro ručně bez hlášky.
_
Také hezké svátky pokud to jde v této době vůbec popřát.

Offline

#28 16. 4. 2022 11:37:49

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 171

Re: Makro export listu do XLSX (VYŘEŠENO)

Narazil jsem na netu na virtualni online Ubuntu.
https://www.onworks.net/thirdparty/gdri … wnload.php
pokud máte Google Drive a zkopírujete do něj tento image
https://drive.google.com/file/d/1W11Gcp … sp=sharing
tak ho pomocí prvního odkazu můžete vybrat a spustit. Už jsem tam na plochu dal složku s poslední verzí XLSX a LO nastavil bezpečnost maker na minimum aby se to fungovalo. Ač je to starý LO tak i tak to hází stejnou chybu.
_
Pokud nechcete využívat ode mě přednastavený systém tak si můžete pustit svůj a nastavit si to sám, také nic složitého.
https://www.onworks.net/os-distribution … version-20

Offline

#29 16. 4. 2022 18:48:00

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Re: Makro export listu do XLSX (VYŘEŠENO)

Tak jsem otevřel Vaši aplikaci a upravil jsem to.


Tu chybu způsoboval banální problém. Makro zapisuje jiné makro do nového sešitu a je tam kontrolní kód

Do While NOT secondDoc.BasicLibraries.hasByName("Standard")
  Wait 10
Loop

To slouží k prodlevě potřebné k otevření knihovny Basicu. Originál má nastaveno 10 milisekund. Ale asi je to na hranici. Tak jsem to přepsal na 30 ms. Otestoval jsem to vícekrát a funguje jak má.
     Také jsem přidal kód, který zavírá originál sešit po stisknutí tlačítka a skončení makra. Takže se objeví ve složce starý a nový soubor vedle sebe. Obě makra chodí stejně. Jinak díky za tip. Chtěl jsem rozchodit nejprve vlastní obraz - to musí počkat. Musím to pustit do televize, kterou mám místo monitoru na jiném stroji s W10. Tady to bylo utrpení. Oči mi už moc neslouží a nepomáhají ani brýle protože ten desktop je výsekem z obrazovky a po zvětšení obrazu jsem se musel vracet zpět abych ovládal z přehledné velikosti.


     Takže díky je to pro mne kompromisní řešení a myslím že dobré. Jinak by to bylo zralé na vyčištění kódu, stejně jako možnost pojmenovat list stejně se zdrojem, nebo nastavit odfiltrování dat a další....


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#30 17. 4. 2022 09:06:30

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 171

Re: Makro export listu do XLSX (VYŘEŠENO)

To zní skvěle. Výsledek máte uložený?
Já se k tomu co jste upravoval v tom virtuálním stroji nedostanu jak jste ho stáhnul k sobě tak už je pouze na vašem Google drive.
A máte to uložený ve svém google drive pouze pokud jste v levo vedle spuštěného virtuálního stroje dal uložit.
Asi nejlépe výsledek samotnou tabulku s excelem si třeba přes firefox poslat z virtuálního stroje ven. Email, atd...
-
Jo to s očima znám, taky neustále zvětšuji font na mobilu i na počítači...

Editoval barevnej (17. 4. 2022 09:23:44)

Offline

#31 17. 4. 2022 10:46:38

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Re: Makro export listu do XLSX (VYŘEŠENO)

Je to zde Verze_5 na Linuxu. Nevím jak a nechtěl jsem sdílet i když bych na to přišel. Mám to jako rozšíření pro Disk a v nejhorším bych na tom testoval. Musím nejprve zjistit co ta verze on-line, ale prokopat se těmi informacemi není snadné.


Nevím, jestli mám čekat až budete v práci, nebo udělit přístup, smazat rozšíření, nebo něco jiného. Uvítám info. Přeji úspěch.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#32 19. 4. 2022 10:22:55

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 171

Re: Makro export listu do XLSX (VYŘEŠENO)

Jsem nějak umřel na svátky...
_
Tak jsem testoval jak ve virtuílním tak přímo na svém počítači a přišel jsem na zajímavou věc.
Pokud otevřu tabulku a dám exportovat list do XLSX a stisknu to žluté tlačítko tak to hodí naší známou hlášku anic se nestane. A je jedno zda nastavím "Wait" na jakkoukoliv hodnotu.
_
Ale pozor tady jsem narazil na tu záhadu. Otevřu li dialogové okno Moje makra a nechám ho otevřené a nic v něm nedělám a dám si ho někam bokem. Pak mohu zavřít a znova otevřít onu tabulku a vše funguje dokonale, dokud to okno s úpravou maker nezavřu.
_
Pro ilustraci jsem to nahrál na VIDEO
_
Hádám že Vám to fungovalo úplně stejně když jste to testoval.

Offline

#33 19. 4. 2022 18:01:04

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Re: Makro export listu do XLSX (VYŘEŠENO)

Jj - máte pravdu. Dělá to i ve Win. Linux jsem už odinstaloval a vyřeším to zřejmě VirtualBoxem. Mám 1TB USB3, ale tam to nejde zejména kvůli formátu exFAT a to jsem testoval několik nástrojů včetně Rufus. Udělám tedy Virtual box na stroji s W10.
     Tenhle problém jsem buď přehlédl, nebo možná vyřešil, ale musím znovu dohledat. Nyní je to pro mne osobní. Umím ještě jiné triky, a tak budu testovat různé systémy i když Vám to asi moc nevadí, ale jít to musí - jsem o tom přesvědčen.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#34 19. 4. 2022 18:11:40

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 171

Re: Makro export listu do XLSX (VYŘEŠENO)

V pohodě, nechvátá to. Už i tak je to pecka. Jen jsem oznámil toto divné chování a třeba Vám to napoví v čem je zakopaný pes.

Offline

#35 25. 4. 2022 12:37:09

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Re: Makro export listu do XLSX (VYŘEŠENO)

Nová verze je zde Uložit jako XSLX_verze_6.


Tento soubor umí uložit XSLX, ale využívá systém mazání listů. Problém s makry v XSLX je v tom, že by se musel nejprve uložit upravený sešit ODS obsahující makro, které by se muselo spustit akcí – například tlačítkem aj. Soubor XSLX se uloží bez maker, ale v adresáři zůstává jeho zdroj ODS s jedním listem, který se musí smazat (KILL) z neupraveného zdroje, který obsahuje všechny listy.


To je celkem neřešitelné jednoduchým způsobem – přechod mezi vygenerováním XSLX a smazáním ODS vyžaduje 2 makra, která se nedají propojit jinak, nežli manuálně. Cestou je pomocné makro v knihovně Standard nad všemi moduly, ale vytvářet makra jen pro mazání už je celkem absurdní a zbytečné.


Problém může být s mazáním listů kterých může být mnoho a značně objemných, ale to se musí nejprve otestovat. V případě problémů se k této práci vrátím.


Nyní se spustí makro, které úlohu provede, ale zůstane otevřený pouze sešit XSLX. Z něj je snadné zavolat poslední dokument a otevřít zdroj. Takže jde stále ještě o trojí kliknutí. V kódu makra je zakomentovaný řádek (tuším 54), který lze odkomentovat. Potom se zavře i xslx, ale žádný dokument ODS není otevřený. Takže pokud následně nebudete pracovat, vyhovuje to, nebo si otevřete jiný dokument, popřípadě okno Basicu – aby šlo zavolat poslední dokument.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#36 29. 4. 2022 08:17:46

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 171

Re: Makro export listu do XLSX (VYŘEŠENO)

Omlouvám se byl jsem chvíli mimo a pak jsem si hrál s novým Ubuntu co teď vyšlo smile
_
Když jsem četl co jste napsal tak jsem šel testovat "šestou" verzi trochu skepticky. Vaše vzorová tabulka funguje dokonale a řekl jsem si že to je jen tím že je "malá" proto jsem se rozhodl to otestovat na mé největší tabulce s cca 10tis obrázky a celkové velikosti přes 13MB, pokud v takové tabulce se pokusím ručně smazat listy tak je to i několik minut. Nastavil jsem tedy Vaše "šesté" makro s spustil... yikes
Za pár vteřin hotovo bez chyb big_smile Nádhera moc děkuji, tato verze je dokonalá.
_
a děkuji za předpřipravený řádek 54, ihned jsem využil.
Jste mistr cool

Offline

Zápatí