ďťż

Mefisto...diabeł czy anioł?

Witam tęgie głowy.
Przy pomocy rejestratora popełniłem makro, które tworzy łącze do skoroszytu-bazy. I do tego momentu jest OK. Problem pojawia się gdy przenoszę pliki (bazę i docelowy) na inny komputer i chciałbym, by połączenie aktualizowało się bez konieczności ingerowania w kod. Po prostu do ThisWorkbook zapodałbym makro, które po otwarciu pliku odświeży dane. Konkretnie chodzi o ścieżkę. Próbowałem z Patch, ale coś jest nie halo.


Sheets("ark1").Select
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array( _
        "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=C:\Users\Johan\Desktop\baza.xlsm;Mode=Share Deny Write;" _
        , _
        "Extended Properties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:" _
        , _
        "Engine Type=37;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OL" _
        , _
        "EDB: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" _
        ), Destination:=Range("$A$1")).QueryTable
        .CommandType = xlCmdTable
        .CommandText = Array("ark1$")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .SourceDataFile = "C:\Users\Johan\Desktop\baza.xlsm"
        .ListObject.DisplayName = "Tabela_baza_1"
        .Refresh BackgroundQuery:=False
    End With

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • katkaras.opx.pl