< návrat zpět
MS Excel
Téma: VBA odkaz na jméno souboru
Zaslal/a hankeys 3.11.2016 8:42
mám-li soubor EJ_30_U1_20301519_S_HH_A_A_no_ASYM-RS.xlsm, tak potřebuji do uvedeného VBA skriptu automaticky nastavit, aby importoval ze souboru .str se stejným názvem a nejlépe aby tam nemusela být celá cesta C: trading - portfolia - atd...
takže něco ve stylu
....Import URL:= _
"FILENAME.str"
za to FILENAME by se doplnil název xlsm souboru, pak bych ten VBA skript nemusel přepisovat pro každý soubor zvlášť...
poradí někdo?
ActiveWorkbook.XmlMaps("StrategyFile_Mapování").Import URL:= _
"C:\TRADING\PORTFOLIA\2016_10_31 turbo portfolio\EJ_30_U1_20301519_S_HH_A_A_no_ASYM-RS.str"
Pavlus(3.11.2016 10:47)#033276 Lze využít následující příkazy (předpokladem je, že "xlsm" a "str" jsou v jednom adresáři).
Cesta k souboru:
ThisWorkbook.PathNázev souboru:
ThisWorkbook.NamePak už stačí jenom vhodně spojit s využitím ampersandu (&).
P.
Např.:
ThisWorkbook.Path & "\" & Mid(ThisWorkbook.Name, 1, InStr(1, ThisWorkbook.Name, ".", vbTextCompare) - 1) & ".str"citovat
hankeys(3.11.2016 11:22)#033277 díky, už sem na to přišel a vyřešil takto...zachovávám tam tu cestu, protože excel soubory chci mít jinde
Dim CurrentFileNameNoExtension As String
CurrentFileNameNoExtension = Left(ActiveWorkbook.Name, (InStrRev(ActiveWorkbook.Name, ".", -1, vbTextCompare) - 1))
'MÍSTO "CESTA" ZADEJ CELOU CESTU KE STRATEGIÍM NAPŘ. VE FORMÁTU C:\TRADING\PORTFOLIA - na konci bez lomítka
ActiveWorkbook.XmlMaps("StrategyFile_Mapování").Import URL:= _
"CESTA" & "\" & CurrentFileNameNoExtension & ".str"citovat