Pakrako
13.06.15,05:24
Vie mi niekto poradiť ako načítať do VBA Excel názov zošita ? Zošit ako príklad je v prílohe.

Potrebujem vedieť ako načítať odsek makra napísaného tučne :

' ====== otvorenie pôvodného zošita

Príklad makra:


Zošit je uložený pod menom "Názov zošita" a ja potrebujem aby hocijaký aj iný názov bol načítaný do VBA Excel a tento následne vo VBA Excel otvorený .


Sub NovyNazov_Zošita()
Application.ScreenUpdating = False ' Vypne sledovanie obrazovky
ActiveWorkbook.Save
U = MsgBox(" nejaký text ?", vbYesNo, "Kontrola zadania údajov")
Select Case U
Case vbYes
Dim hodnota As String 'hodnota bunky ktora sa ma nastavit
Dim NNS As String
Dim SNS As String
' ====== vytvorenie nového názvu zošita
Sheets("Údaje").Visible = True
Sheets("Údaje").Select
NNZ = Sheets("Údaje").Range("$J$9").Value

'MsgBox (" << Vytváranie kópie = Nový názov súboru << pre pokračovanie stlačte OK ")
Sheets("Údaje").Visible = True
Sheets("Údaje").Select
ActiveWorkbook.SaveAs Filename:= _
"C:\Udaj\Archív\Udaj-" + NNS + ".xlsm", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Windows("Udaj-" + NNS + ".xlsm").Activate
ActiveWorkbook.Save
' ====== otvorenie pôvodného zošita
Workbooks.Open(Filename:="C:\Udaj\Udaj-"+SNS+.xlsm, UpdateLinks:=0). _
RunAutoMacros Which:=xlAutoOpen
Call xxxx
' ====== zatvorenie nového zošita
Windows("Udaj-" + NNS + ".xlsm").Activate
ActiveWorkbook.Save
ActiveWindow.Close
Application.ScreenUpdating = True False ' Zapne sledovanie obrazovky Range("P5").Select
End Select

End Sub
marjankaj
13.06.15,04:33
Zošit je workbook.
Pakrako
13.06.15,05:45
Ja viem, ale potrebujem dostať do premennej názov zošitu (workbooku).
marjankaj
13.06.15,05:58
A odkiaľ ho chceš načítať? Kde je tá príloha?
marjankaj
13.06.15,06:01
nazov="C:\Users\Documents\subor.xlsx"
ActiveWorkbook.SaveAs Filename:=nazov
Pakrako
15.06.15,15:01
Pre tých , ktorí by to náhodou potrebovali je tu riešenie, mojej otázky. Týmto ďakujem dobrej duši čo mi to poradila a riešenie je 100 % funkčné !.

PNS je pôvodný názov súboru


Dim PNS As String
PNS = ActiveWorkbook.FullName

Pre otvorenie použijete názov premennéj tj.
Workbooks.Open Filename:=PNS