Witam,
jak w temacie, mam tabelę, którą chcę codziennie archiwizować w postaci pliku excel. Użyłem do tego makra z accessa z komendą "EksportZFormatowaniem" ale tam można na sztywno zdefiniować nazwę pliku (przykład w załączniku). Jest jakiś sposób, żeby automatycznie nadawał nazwę z datą dzisiejszego dnia czyli jak w przypadku poniżej listing_95_20190603.xlsx
Zapisz to makro jako kod VBA (bo chyba można). I zmodyfikuj. Albo podaj ten kod, to ktoś ci pomoże.
W pole docelowy plik wpisz:
="C:\usesrs\listing95_" & Format(Date(),"yyyyMMdd") & ".xlsx"
Panczo napisał(a):
W pole docelowy plik wpisz:
="C:\usesrs\listing95_" & Format(Date(),"yyyyMMdd") & ".xlsx"
Cześć, samą składnie znam z VBA excel, ale niestety wpisanie w polu plik docelowy nie pomogło.
Ale co nie pomogło, nie działa, dostajesz bład?
Zakładam że początek: C:\usesrs\
zmieniłeś na prawidłowa ścieżką do folderu zapisu
Marcin.Miga napisał(a):
Zapisz to makro jako kod VBA (bo chyba można). I zmodyfikuj. Albo podaj ten kod, to ktoś ci pomoże.
Nie wiedziałem, że można konwertować. Pomogło, ale nie wiem jak uruchomić ten kod.
Sub import_listing()
DoCmd.SetWarnings False DoCmd.OpenQuery "95_listing", acViewNormal, acEdit DoCmd.OutputTo acOutputTable, "95_listing_fin", "ExcelWorkbook(*.xlsx)", "C:\Users\Documents\listing\95_listing_" & Format(Date, "yyyymmdd") & ".xlsx", False, "C:\Users\Documents\listing\95_listing.accdb", , acExportQualityScreen DoCmd.SetWarnings True DoCmd.Quit acExit
End Sub
Ale co nie pomogło, nie działa, dostajesz bład?
Zakładam że początek:C:\usesrs\
zmieniłeś na prawidłowa ścieżką do folderu zapisu
tak zmieniłem, zwraca komunikat
Akcja makra "EksportZFormatowaniem" ma nieprawidłową wartość argumentu "plik docelowy"
> #####
a mój bład w makrach argumenty funkcji rodzielamy ;
:
="C:\Users\Documents\listing\95_listing_" & Format(Date(); "rrrrMMdd") & ".xlsx"
Panczo napisał(a):
a mój bład w makrach argumenty funkcji rodzielamy
;
:="C:\Users\Documents\listing\95_listing_" & Format(Date(); "rrrrMMdd") & ".xlsx"
Niestety nadal to samo. Działa kod
Function import_listing()
DoCmd.SetWarnings False
DoCmd.OpenQuery "95_listing", acViewNormal, acEdit
DoCmd.OutputTo acOutputTable, "95_listing_fin", "ExcelWorkbook(*.xlsx)", "C:\Users\Documents\listing\95_listing_" & Format(Date, "yyyymmdd") & ".xlsx", False, "C:\Users\Documents\listing\95_listing.accdb", , acExportQualityScreen
DoCmd.SetWarnings True
DoCmd.Quit acExit
End Function
Ale nie wiem jak go uruchomić z autoexec`a. Pojedynczy "run" dział i daje dobry wynik
U mnie działa:
Możesz uruchuomić kod vba z makro UruchomKod
Tylko zmienic definicje funkcji na publiczna:
Public Function import_listing()
Panczo napisał(a):
U mnie działa:
Możesz uruchuomić kod vba z makro UruchomKod
Tylko zmienic definicje funkcji na publiczna:
Public Function import_listing()
Jak usunąłem odniesienie do pliku szablonu też ruszyło. Dziękuję już mam dwa działające rozwiązania.
Z kodem VBA też sobie poradziłem w autoexec`u podawałem nazwę modułu, a nie Funkcji.