Pomoc s úpravami souborů .doc a .docx

Počítače stolní, notebooky, tablety, tiskárny, scanery a vše, co nějak souvisí s PC

Moderátor: Moderátoři

Zpráva
Autor
masar
Příspěvky: 14453
Registrován: 03 pro 2005, 00:00

#16 Příspěvek od masar »

Jinou možností je VBA skript, který přikládám (přejmenujte příponu na .bas).
Postup je celkem jednoduchý:
1. Umístěte všechny soubory .doc do jedné (libovolné) složky na disku.
2. Otevřete nový (prázdný) dokument Word
3. Otevřete okno VBA (Alt+F11) a v něm klikněte na "File/Import File..." a nahrejte modul Fonty.bas.
4. Otevřete modul a editujte v něm název fontu, na který si přejete změnit použité fonty v dokumentech.
5. Spusťte skript (F5)
Otevře se okno exploreru, ve kterém vyberete složku s dokumenty. Ve všech souborech bude provedena změna všech fontů na font určený ve skriptu. Fonty v automatických tvarech zůstanou nedotčeny. Mění se pouze fonty, nemění se jejich velikost a formátování.
Celý postup jsem nahrál na krátké video.
Přílohy
fonty.txt
(780 bajtů) Staženo 74 x
Fonty3.txt
Verze doplněná o možnost měnit fonty textových polí a výběr fontů pomocí dialogů.
(Odpadá nutnost editace kódu - bod č.4)
(1.92 KiB) Staženo 48 x
Naposledy upravil(a) masar dne 18 kvě 2024, 20:42, celkem upraveno 5 x.
Uživatelský avatar
DukeNuke
Příspěvky: 2023
Registrován: 02 dub 2018, 00:00

#17 Příspěvek od DukeNuke »

Podle krátkého shlédnutí to umí jen .doc. Pro .docx bys to musel upravit.
Použil jsi "On Error Resume Next" bez zachytávání chyby. V takovém případě je lépe nechat skript zhavarovat, než nechat běžet bez kontroly, zda proběhl v pořádku.
masar
Příspěvky: 14453
Registrován: 03 pro 2005, 00:00

#18 Příspěvek od masar »

Umí to, kupodivu, i docx, navzdory syntaxi.
Skript je velmi jednoduchý a nikomu nebráním v jeho zdokonalení.
:wink:
Uživatelský avatar
DukeNuke
Příspěvky: 2023
Registrován: 02 dub 2018, 00:00

#19 Příspěvek od DukeNuke »

masar píše:Umí to, kupodivu, i docx, navzdory syntaxi.
Inteligentní štajgr, to bych tedy netipl :-) Člověk se furt učí.
Uživatelský avatar
EKKAR
Příspěvky: 35012
Registrován: 16 bře 2005, 00:00
Bydliště: Česká Třebová, JN89FW21

#20 Příspěvek od EKKAR »

DukeNuke píše:Není zač. A nejsem ajťák. Zajímám se o počítače ještě z dob, kdy se programovalo ve strojáku a skriptovací jazyk VisualBasicScript je tu od Win98. Nepotřeboval jsem to k práci, jen mě baví zkoušet co to umí. Asi stejně tak jsem na tom s excelem, ale tam jsem na tom hůř. A pravděpodobně budu starší než ty - to jen tak naokraj. Psát se mi to moc nechtělo, ale proč to nezkusit :-)
...
Ano - to je to důležitý - děláš v tom X let a začínal jsi, když ti bylo -náct, měl jsi k tomu přístup myšleno fyzicky přístup - a bavilo tě to. Mne ve stejným věku bavilo něco jinýho a jak už jsem tady mockrát zmínil, k počítači jsem poprvé přičuchnul až na vojně - a to ještě jen jako klasickej "BFU" navíc s hrozbou postihu "nešahej na nic co neumíš, běda jestli to poyebeš!" - na nějaký zkoušení "co to udělá" moc prostoru nebylo. Svůj vlastní komp, na kterým si můžu vyvádět co skutečně JÁ chci, jsem si poprvé kupoval až když mi bylo skoro 40 - a prostě jsem ho doma potřeboval pro činnosti související se zaměstnáním. Ale ani tak mě programování nikdy neživilo a dej Pámbu ani živit nebude ...
Nasliněný prst na svorkovnici domovního rozvaděče: Jó, paninko, máte tam ty Voltíky všecky...
A kutilmile - nelituju tě :mrgreen: :mrgreen: !!!
Uživatelský avatar
DukeNuke
Příspěvky: 2023
Registrován: 02 dub 2018, 00:00

#21 Příspěvek od DukeNuke »

V pohodě. Každej má životní cestu jinou. Pokud ti to pomůže budu rád. A kdybychom se náhodou potkali, můžeš mi koupit pivo :-)
Uživatelský avatar
EKKAR
Příspěvky: 35012
Registrován: 16 bře 2005, 00:00
Bydliště: Česká Třebová, JN89FW21

#22 Příspěvek od EKKAR »

Tak vyzkoušeno, funguje to, akorát se musí dělat po menších dávkách, neumí to po sobě průběžně uvolňovat RAMku a při větším počtu konvertovanejch fajlů padne komp z důvodu nedostatku paměti ...
Nasliněný prst na svorkovnici domovního rozvaděče: Jó, paninko, máte tam ty Voltíky všecky...
A kutilmile - nelituju tě :mrgreen: :mrgreen: !!!
Uživatelský avatar
DukeNuke
Příspěvky: 2023
Registrován: 02 dub 2018, 00:00

#23 Příspěvek od DukeNuke »

Zůstává tam otevřený objekt word. Tím se zaplní paměť - moje chyba.
Doplň si do kódu 41 řádek - objWord.Quit.

Kód: Vybrat vše

        ' vynulování objektů        
        Set objRange = Nothing
        Set objSelection = Nothing
        Set objDoc = Nothing
        objWord.Quit
        Set objWord = Nothing
Uživatelský avatar
EKKAR
Příspěvky: 35012
Registrován: 16 bře 2005, 00:00
Bydliště: Česká Třebová, JN89FW21

#24 Příspěvek od EKKAR »

Jo, teď jsem to sem chtěl dopsat jako upozornění pro případný další zájemce o použití, že se to musí spouštět jen po menších dávkách, řádově po 20-30 fajlech doc/docx - protože mám 16GB RAMky a "půltero" SSD na 64b systém, procík Ryzen 5 1600 Six-Core na 3,2GHz časování - neboli to není jen takový vořezávátko - a pokus hromadně upravit cca 300ks adresář doců/docxů mi doslova shodil systém. Je to jasný, skládals to narychlo, ale funkční to je - to je nejdůležitější. Na vychytání blech je čas pozdějc. Jdu to doplnit a testnout.
Nasliněný prst na svorkovnici domovního rozvaděče: Jó, paninko, máte tam ty Voltíky všecky...
A kutilmile - nelituju tě :mrgreen: :mrgreen: !!!
Uživatelský avatar
EKKAR
Příspěvky: 35012
Registrován: 16 bře 2005, 00:00
Bydliště: Česká Třebová, JN89FW21

#25 Příspěvek od EKKAR »

A ještě jedno malý mínus jsem zjistil - když běží tenhle script, nelze na stejným kompu používat Word, ten script ho vždycky zavře, když končí úpravu jinýho souboru. Prostě zavírá Word jako celek, ne jen to "svoje" otevřený podokno. Ale to už je jen muška jenom zlatá, s tím se dá žít. Určitě by se to ještě dalo upravit, ALE NENÍ TO NUTNĚ POTŘEBA.
Nasliněný prst na svorkovnici domovního rozvaděče: Jó, paninko, máte tam ty Voltíky všecky...
A kutilmile - nelituju tě :mrgreen: :mrgreen: !!!
Uživatelský avatar
tomasjedno
Příspěvky: 6547
Registrován: 11 říj 2008, 00:00
Bydliště: ZZ9 Plural Z Alpha

#26 Příspěvek od tomasjedno »

Zkusil jsem to pustit a vůbec to nefunguje! Ještě že jsem si před tím odinstaloval Word, jinak by mi ho to rozjebalo. A navíc mi teď celý večer nějaký zatracený generál Failure pořád čte disk - neznáte ho někdo? :D
masar
Příspěvky: 14453
Registrován: 03 pro 2005, 00:00

#27 Příspěvek od masar »

Bez Wordu chtít otevírat Word asi nepůjde. Ale to "rozjebání" určitě nehrozí.
:wink:
Uživatelský avatar
tomasjedno
Příspěvky: 6547
Registrován: 11 říj 2008, 00:00
Bydliště: ZZ9 Plural Z Alpha

#28 Příspěvek od tomasjedno »

:D :D :D :D :D :D :D :D :D :D
Uživatelský avatar
DukeNuke
Příspěvky: 2023
Registrován: 02 dub 2018, 00:00

#29 Příspěvek od DukeNuke »

@ekkar: s tím se budeš muset smířit. Uzavření wordu dělá metoda .Quit, bohužel ukončí všechny instance objektu word.
Když nechám jeden objekt pro celou práci, tak to nefunguje korektně - ponechává to v adresáři soubory ~$filename, což považuji za větší zlo (tento soubor vznikne, když ve wordu otevřeš filename.doc).
Případně zkus AI, ať to předělá :-)
masar
Příspěvky: 14453
Registrován: 03 pro 2005, 00:00

#30 Příspěvek od masar »

Pro příští zájemce jsem upravil skript VBA a obohatil o interaktivní GUI, stačí otevřít přiložený soubor .doc ve Wordu a povolit zpracování maker.
Pracuje výrazně rychleji než zmíněný soubor .vbs a nemá jeho nectnosti.
Vyzkoušeno na Word 2003 a Word 2007. Nefunguje v LibreOffice.
:wink:
--------
edit: Ještě jsem opravil některé chyby a doplnil o vobu řezu písma.
Přílohy
Změna fontů.zip
Obsahuje Změna fontů.doc
(19.34 KiB) Staženo 46 x
Snímek obrazovky 2024-05-31 231720.png
Snímek obrazovky 2024-05-31 231720.png
Změna Fontů2.zip
Verze doplněná o volbu řezu fontu.
+některé opravy skriptu.
(16.64 KiB) Staženo 50 x
Odpovědět

Zpět na „Výpočetní technika“