< návrat zpět

MS Excel


Téma: odkaz na zadanu cestu vba rss

Zaslal/a 28.1.2023 19:44

zdravim potrebujem poradit mam vo vzorci zadanu cestu
C:\Users\ASUS PC\Documents\MEGA\import\Report

kedze to mam ulozene na cloude a pouzivam 3 pc tak mam problem s najdenym cesty co sa tyka nazov pc. Da sa to nejak upravit aby nezalezalo na nazve pc

Zaslat odpověď >

Strana:  1 2 3   další »
#054297
Lugr
Sub makro()

Dim objNetwork As Object
Set objNetwork = CreateObject("WScript.Network")

PCN = objNetwork.ComputerName

Set objNetwork = Nothing

CESTA = "C:\Users\" & PCN & "\Documents\MEGA\import\Report"

End Sub
citovat
#054298
avatar
Dakujem Lugr funguje len este sa mi to nedadari dostat do povodneho makra vies mi s tym este pomoct .Dakujem

Sub Import()

Dim CESTA As String
Dim SOUBOR As String
Dim ZDROJ As String
Dim CIL As String
Dim RADEK As Long
Dim POCET As Long
Dim wsDATA As Worksheet
Set wsDATA = Worksheets("List1")

POCET = wsDATA.Cells(Rows.Count, "A").End(xlUp).Row

If POCET > 0 Then wsDATA.Range("A2").Resize(POCET, 3).ClearContents

MESIC = wsDATA.Range("E1")
CILMESIC = Sheets("Report").Range("B1")

CESTA = "C:\Users\ASUS PC\Documents\MEGA\import\Report"
ZDROJ = "Report " & MESIC & ".xlsx"
CIL = "Vyučtovanie " & CILMESIC & ".xlsm"

SOUBOR = CESTA & ZDROJ

If Dir(SOUBOR) = "" Then MsgBox "Soubor " & SOUBOR & " neexistuje!", vbCritical: Exit Sub

Application.ScreenUpdating = False
Workbooks.Open Filename:=SOUBOR
POCET = Workbooks(ZDROJ).Sheets("Položky dokladu").Cells(Rows.Count, "A").End(xlUp).Row - 2
Workbooks(CIL).Sheets("List1").Range("A2").Resize(POCET, 3).Value = Workbooks(ZDROJ).Sheets("Položky dokladu").Range("B3").Resize(POCET, 3).Value
Workbooks(ZDROJ).Close SaveChanges:=False
Application.ScreenUpdating = True

ActiveWorkbook.RefreshAll

End Subcitovat
#054299
elninoslov
Viete o tom, že tá časť za "Users" NIEJE názov PC ale názov užívateľského účtu na PC?
Každopádne Lugr-ove riešenie môžete zakomponovať jednoduchou úpravou jediného riadku
CESTA = "C:\Users\" & CreateObject("WScript.Network").ComputerName & "\Documents\MEGA\import\Report"
EDIT:
Neskúšam, ale len od pohľadu Vám to nemôže fungovať. Za cestou Vám chýba lomítko. V opačnom prípade bude názov súboru začínať "ReportReport ..."citovat
#054300
avatar
Akurat som vsimol ze ntb kde som to testoval mam rovnaky nazov ntb aj uzivatela ale na druhych 2 pc to je ine a tam som akurat narazil na problem ze mi to bralo ako nazov pc a nie nazov uzivatelacitovat
#054301
elninoslov
Mrk semcitovat
#054302
avatar
dava mi to chybu neviem ci mam zle uvede zatvorky

CESTA = "C:\Users\" & CreateObject("Environ").WindowsActive & "\Documents\MEGA\Import\Report\"citovat
#054303
Lugr
To vypadá jako moje makro. 5

Sub Import()

Dim CESTA As String
Dim SOUBOR As String
Dim ZDROJ As String
Dim CIL As String
Dim RADEK As Long
Dim POCET As Long
Dim wsDATA As Worksheet
Dim objNetwork As Object

Set wsDATA = Worksheets("List1")
Set objNetwork = CreateObject("WScript.Network")

PCN = objNetwork.ComputerName
Set objNetwork = Nothing

POCET = wsDATA.Cells(Rows.Count, "A").End(xlUp).Row

If POCET > 0 Then wsDATA.Range("A2").Resize(POCET, 3).ClearContents

MESIC = wsDATA.Range("E1")
CILMESIC = Sheets("Report").Range("B1")

CESTA = "C:\Users\" & PCN & "\Documents\MEGA\import\Report\"
ZDROJ = "Report " & MESIC & ".xlsx"
CIL = "Vyučtovanie " & CILMESIC & ".xlsm"

SOUBOR = CESTA & ZDROJ

If Dir(SOUBOR) = "" Then MsgBox "Soubor " & SOUBOR & " neexistuje!", vbCritical: Exit Sub

Application.ScreenUpdating = False
Workbooks.Open Filename:=SOUBOR
POCET = Workbooks(ZDROJ).Sheets("Položky dokladu").Cells(Rows.Count, "A").End(xlUp).Row - 2
Workbooks(CIL).Sheets("List1").Range("A2").Resize(POCET, 3).Value = Workbooks(ZDROJ).Sheets("Položky dokladu").Range("B3").Resize(POCET, 3).Value
Workbooks(ZDROJ).Close SaveChanges:=False
Application.ScreenUpdating = True

ActiveWorkbook.RefreshAll

End Sub
citovat
#054304
elninoslov
Skúste najskôr tie najjednoduchšie možnosti:
CESTA = "C:\Users\" & Environ("username") & "\Documents\MEGA\import\Report\"
alebo
CESTA = "C:\Users\" & CreateObject("WScript.Network").UserName & "\Documents\MEGA\import\Report\"
Ale to problém môže nastať aj inde. Uživateľské adresáre ako napr. "Dokumenty" nemusia byť len v "Users\meno\Documents\", ale napr. ja ich mám na "D:\Dokumenty\"citovat
#054305
avatar
LUGR ano je to zrejme asi tvoje makro.
Ked zadam opraveny kod tak mi stale uvadza nazov pc a nedava mi nazov pouzivatelske konto skusil som to aj priamo cez administrator ale bez uspechu. Ale aj tam vam dakujem za pomoccitovat
#054306
Lugr
A nešla by využít cesta k souboru?

CESTA = ThisWorkbook.Pathcitovat

Strana:  1 2 3   další »

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje