< návrat zpět

MS Excel


Téma: ktory disk rss

Zaslal/a 30.10.2017 15:10

dobry den,
da sa zistit (cez VB)z ktorého disku bol spusteny dany subor .xls?
Priklad: Vytvorim subor v xls a potreboval by som aby mi vypisalo meno disku za ktorého bol spusteny.

Stacilo by mi ci je to z C:, D: ...

vopred dakujem

Zaslat odpověď >

icon #038186
avatar
napr. cez vlastnost FullName objektu Workbook. V okne immediate:

? Left(ActiveWorkbook.FullName,2)citovat
#038187
avatar
nebo FSO:

Set objFSO = CreateObject("Scripting.FileSystemObject")

strAktualniSlozka = objFSO.GetAbsolutePathName("")
strAktualniJednotBka = objFSO.GetDriveName(strAktualniSlozka)
citovat
#038188
avatar
MsgBox Left(ThisWorkbook.Path, 1)citovat
#038196
avatar
dakujem za odpovede, ale nerobi mi to co potrebujem. Cez FSO mi vypisuje stale z C: aj ked subor otvaram napr. z disku E: t.z. Ja by som potreboval, ze ak otvorim subor napr. z disku E: tak aby mi davalo E: ak spustim napr. F: tak aby mi davalo F: atd.

Cez Left(ActiveWorkbook.FullName,2)vypisuje navestie zosita.

Cez Left(ThisWorkbook.Path, 1) je prazdne

dakujemcitovat
#038197
elninoslov
Predpoklad vrátenia správneho písmena disku je:
-uložený súbor (nie iba nový a neuložený)
-neotvárať z archívu (ten sa rozbalí do Tempu - predvolene C:)
Tu máte už uvedené príklady v súbore, a mne fungujú.
Příloha: zip38197_getdrive.zip (12kB, staženo 22x)
citovat
#038199
avatar
jasnee ...je to funkcne... vsetky priklady...chcelo to ulozit...
este raz dakujemcitovat
#038201
elninoslov
Inak aj bunka Vám to zistí:
=LEFT(CELL("filename";$A$1);2)
=ZLEVA(POLÍČKO("filename";$A$1);2)

Ak by to nechcelo prepočítavať, tak to obalte do IF/KDYŽ napr:
=IF(NOW()<>0;LEFT(CELL("filename";$A$1);2))
=KDYŽ(NYNÍ()<>0;ZLEVA(POLÍČKO("filename";$A$1);2))
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