Como ejecutar macro en con diferentes usuarios?

Agradezco todo el apoyo que he recibido en este foro el día de hoy solicito me apoyen para saber el usuario y corregirlo en la ruta que se va a ejecutar con una macro que esta conectada a un archivo access.mdb ya que es algo me están solicitando que se comparta con varias personas resalte en negritas donde tiene la ruta del usuario de pc en este caso es rgonzalezh pero puede ser cualquiera

Sheets("Matriz").Select
Cells.Select
Selection.ClearContents
Range("A1").Select
ThisWorkbook.Connections.Add2 "bd1 Mensual Tabla1.od", "", _
Array( _
"OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=C:\Users\rgonzalezh\Documents\Cardex\bd1 Mensual" _
, _
".mdb;Mode=Share Deny Write;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Pas" _
, _
"sword="""";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Tra" _
, _
"nsactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB" _
, _
":Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex" _
, _
" Data=False;Jet OLEDB:Bypass UserInfo Validation=False;Jet OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validatio" _
, "n=False"), "Tabla1", 3

1

1 respuesta

Respuesta
1

La siguiente función es para obtener el usuario:

usuario = CreateObject("WScript.Network").UserName

Entonces podría quedar así:

    usuario = CreateObject("WScript.Network").UserName
    '
    ThisWorkbook.Connections.Add2 "bd1 Mensual Tabla1.od", "", _
    Array( _
    "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=C:\Users\" & usuario & "\Documents\Cardex\bd1 Mensual" _
    , _
    ".mdb;Mode=Share Deny Write;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Pas" _
    , _
    "sword="""";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Tra" _
    , _
    "nsactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB" _
    , _
    ":Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex" _
    , _
    " Data=False;Jet OLEDB:Bypass UserInfo Validation=False;Jet OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validatio" _
    , "n=False"), "Tabla1", 3

[' Si es lo que necesitas. No olvides valorar la respuesta. 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas