< návrat zpět

MS Excel


Téma: Odstranění části názvu souboru rss

Zaslal/a 21.7.2020 13:23

Ahoj, měl bych na vás prosbu.

Mám sešit na mazání souborů podle typu, kde si mohu vybrat příponu, složku a sešit poté v celé složce smaže všechny soubory s touto příponou.

Vytvořil jsem sešit "Odstraň komentáře" podle toho sešitu na mazání souborů. Neumím ho však upravit tak, aby bylo možné:

1. Vybrat složku v PC (To už jsem zkopíroval)
2. Ve vybrané složce přejmenovat všechny soubory a to následujícím způsobem.

Každý soubor může (ale nemusí) obsahovat podtžítko "_"
Toto podtžítko je potřeba z názvu souboru smazat i se vším, co je za ním.

Máme-li tedy soubor "20058-01-001-003_upínka", výsledkem by mělo být "20058-01-001-003".

Předem děkuji

Příloha: 7z47391_excel.7z (63kB, staženo 19x)
Zaslat odpověď >

Strana:  « předchozí  1 2 3   další »
#047459
avatar
Přidal jsem do makra dva řádky.
Do funkce GetAllFiles jsem přidal automatické smazání všeho od podtržítka do konce názvu: NoveNazvy(i) = Left(StareNazvy(i), InStr(1, StareNazvy(i), "_", vbTextCompare) - 1)

Pak jsem na konec procedury Sub Pridaj_Click() přidal volání procedury Premenuj_Click. Tato procedura se spouští po stisku tlačítka Premenuj

Takže po stisku tlačítka +Pridaj se objeví okno pro výběr adresáře. Po výběru adresáře se soubory načtou do excelu a hned přejmenují i na disku.
Příloha: rar47459_premenovanie-suborov_uprava.rar (39kB, staženo 22x)
citovat
#047465
avatar
Takhle je to super, jen jeden problém... pokud složka obsahuje alespoň jeden soubor, který neobsahuje podtržítko, při načítání složky dojde k chybě.citovat
#047470
avatar
Tak místo
NoveNazvy(i) = Left(StareNazvy(i), InStr(1, StareNazvy(i), "_", vbTextCompare) - 1)

Použijte toto:
If (InStr(1, StareNazvy(i), "_", vbTextCompare) - 1) > 0 Then
NoveNazvy(i) = Left(StareNazvy(i), InStr(1, StareNazvy(i), "_", vbTextCompare) - 1)
Else
NoveNazvy(i) = StareNazvy(i)
End If
když název nebude obsahovat podtržítko, zůstane nový název stejný jako starýcitovat
#047474
avatar
Ahoj, teď to funguje. Jen si tedy neumím moc představit běh makra pro 200 souborů, protože pro 3 testovací soubory to trvá nějak dlouho.citovat
#047477
avatar
A je to pomalé až po té poslední úpravě? A nebo to trvalo dlouho i předtím?
Já jsem to zkoušel asi na deseti a bylo to hned. Ale bylo to před tou poslední úpravou. Možná se pletu, ale na rychlost by to nemělo mít podstatný vliv. Teda určitě ne na pár souborech.citovat
#047481
avatar
Prve to šlo myslím bez problémů. Aktuálně na 3 souborech výpočet na cca 10 - 15s.citovat
#047482
avatar
Tak to je fakt moc. Já to teď nemám jak vyzkoušet, možná večer. Jestli máte čas můžete zkusit všechny verze. První originál, druhá co neumí soubory bez podtržítka a třetí, co zvládne i soubory bez podtržítka. A porovnat čas zpracování.
A nebo přiložte váš soubor.citovat
#047495
avatar
načteno 700 souborů za cca 5 vteřin.
Příloha: rar47495_premenovanie-suborov_uprava-1.rar (41kB, staženo 22x)
citovat
#047502
avatar
Dobrý den,
chtěl bych se zeptat je možné, aby šlo přejmenovat i jiné soubory které nemají neobsahují "_".

Aby to našetlo všechny soubory ne jen "_"

A větší počet souborů ne jen 1000.

Děkuji za Vaši odpověď popřípadě vzor.

Jiří497 napsal/a:

načteno 700 souborů za cca 5 vteřin.Příloha: 47495_premenovanie-suborov_uprava-1.rar (41kB, staženo 4x)
citovat
#047504
elninoslov
To je moje staré makro. G6 je konštanta na max počet súborov. Tak si ju zmente.
Celé vlákno sa mi čítať nechce, iba ak by to Jiří nedal. Teda ak sa mu bude chcieť, lebo to vyzerá na dávkovanie požiadaviek.citovat

Strana:  « předchozí  1 2 3   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje