< návrat zpět

MS Excel


Téma: smazání souboru VBA rss

Zaslal/a 19.4.2011 9:56

Dobrý den přeji,

prosím o radu. Lze nějakým příkazem VBA smazat soubor, jež není sešitem excel? Jde mi o to, že mám skript na zobrazení souborů které nejdou automaticky převést na data společně se vstupní tabulkou. Po ručním přepsání bych chtěl soubor smazat. Soubory umisťuji v podadresáři INBOX.jsou to soubory různé - tif, jpg, pdf atd. Děkuji moc předem za každou radu.

Zaslat odpověď >

icon #004728
Poki
tento kod:Sub smazat()
Dim Cesta As String
Dim Soubor As String
Cesta = "c:\Documents and Settings\JMENO_UZIVATELE\Plocha\smazat\"
'Soubor = "1.xls" 'smaze soubor '1.xls'
'Soubor = "1.xl" 'smaze soubor '1' s priponou .xls nebo .xlsx nebo .xlsm ...atd
'Soubor = "*.*" 'smaze vsechny soubory ve slozce
Kill Cesta + Soubor
End Sub


Jen upozornim, ze prikaz Kill rovnou smaze soubor a nepta se (nelze vratit) - a smazanim se zde nemysli presun do kose (soubor uz je proste navzdy pryc) 2citovat
#004730
avatar
Děkuji moc. Takhle jednoduše jsem to nezkoušel. Super. Ale asi si ještě udělám vlastní koš. 2 Lidi jsou lidi a je třeba dělat aplikace blbovzdorné. Ještě jednou děkuji.citovat
icon #004731
Poki
Tady je navod, jak poslat soubor do Kose (moc jsem se na to nedival, takze nemuzu rict, ze to plne chapu, ale treb vam to pomuze)
http://vbadud.blogspot.com/2008/08/vba-send-file-to-recycle-bin.htmlcitovat
#004733
avatar
tak to vypadá funkčně, zatím mi to sice havaruje, ale je to asi o syntaxi.
Neporadil by jste mi prosím ještě s tím, kdybych chtěl soubor (bohužel libovolný) před smazáním zkopírovat nebo přenést do jiného podadresáře? Něco jako koš v programu. Myslel jsem si že to nebude problém, ale jak soubor oslovit? File mi bere jako proměnnou...citovat
icon #004754
Poki
co jenom takhle jednoduse?
Sub Copy_One_File()
FileCopy "C:\Users\Ron\SourceFolder\Test.xls", "C:\Users\Ron\DestFolder\Test.xls"
End Sub
Sub Move_Rename_One_File()
Name "C:\Users\Ron\SourceFolder\Test.xls" As "C:\Users\Ron\DestFolder\TestNew.xls"
End Sub
citovat
#004765
avatar
vypadá to skvěle a jednoduše. Hraju si s tím už chvíli a stále stejný problém: chyba 53 file not found.
Prošel jsem to několikrát, soubor tam je, typ souhlasí. V čem může být chyba? děkuji moc.citovat
icon #004770
Poki
Nevim, co je spatne, doporucil bych jeste prozkoumat moznosti Objektu FileSystemObject, ktery umoznuje vytvareni adresaru, kopirovani, presunovani a dalsi akce spojene se spravno souboru a slozek.

Google najde spoust informace k tomuto objektu, ja prikladam jen priklad, jak kopirovat soubor.
Sub Copy_One_File()

Dim FSO As Object
Dim CestaZ, CestaDO As String
Dim FileDO, sZdroj As String

Set FSO = CreateObject("Scripting.FileSystemObject")

'----Nastavit hodnoty cest a souboru
CestaZ = "C:\Documents and Settings\TEST1\"
CestaDO = "C:\Documents and Settings\TEST2\"
sZdroj = "soubor.xlsx"
'--------------------------------------------

Set File = FSO.getfile(CestaZ & sZdroj)
FileDO = sZdroj

'--kopirovani souboru
File.Copy CestaDO & FileDO
End Sub
citovat

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse

Vynásobit hodnoty kurzem - Power Query

Alfan • 26.4. 7:56

Relativní cesta - zdroje Power Query

Alfan • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

elninoslov • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

lubo • 25.4. 19:18

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 15:12

Relativní cesta - zdroje Power Query

Alfan • 25.4. 15:08

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 14:21