Funkce Dir řazení   otázka

VB6/VBA

Ahoj, bylo mi sděleno, že funkce dir tuto funkcionalitu neumožňuje ale přeci se raději ptám popř pátrám op radě jak vyřešit problém (nějakým polem či něco takového)

Funckí Dir vybírám posutpně všechny soubory z adresáře a předávám je jako parametr jiné aplikaci. Ovšem potřebuji aby se mi řadili dle abecedy.

Je něcotakového možné?

příklad

soubor = Dir(slozka + "*.pdf")

Do While Len(soubor) <> 0

s = slozka + soubor

a.vykonejs (s)

soubor = Dir

PocetSouboru = PocetSouboru + 1

Loop

Děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dir radši vůbec nepoužívejte, je to přežitek z VB6.

For Each soubor in New System.IO.DirectoryInfo("c:\").GetFiles("*.pdf").OrderBy(Function (f) f.Name)   'kdyžtak změňte f.Name třeba na f.Length nebo na f.ModifiedDate, podle čeho chcete řadit

    soubor

Next
nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

A lze to nějak interpretovat i do VBA? To je totiž platforma, na které to poběží ve finále

Díky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Aha, tak to jste ve špatném fóru - myslel jsem, že jde o .NET.

Pokud jde o VBA, tam budete muset položky naházet do nějakého seznamu a ten si seřadit. Nějaká třída tam na to určitě bude, ale z hlavy to nevím.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Já vím, už sem to zadal i do správného fóra. Přesto díky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ve VBA lze také použít FSO nebo WMI, seřazení to neřeší,

ale možná poskytne lepší přístup k vlastnostem apod.

Je-li to jen pár souborů lze seřadit v poli nebo kolekci, případně naplnit do ADO recordsetu a v něm pak seřadit.

Pokud se názvy souborů později zobrazí v nějakém controlu,

tak by seřazení mohl vyřešit, hledat něco jako vlastnost

Sorted (Listbox). Drobné potíže může v controlech způsobit

řazení čísel a datumů, to zobrazujete-li i datum vytvoření

či velikost souboru a řadíte podle toho.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dost možná pracujete s VSTO nebo to je VB.net doplněk pro VBA

a to by použitelnost výše uvedeného tipu mohlo změnit...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback