Cześć,
chciałbym nieco zoptymalizować u siebie proces, mianowicie codziennie wpada mi raport na zasób sieciowy w formie zwykłego rozszerzenia exela. Filtruje konkretne kolumny, kopiuje dane ,potem zapisuje w csv i ładuje na maszynę do wykonania.
Chciałbym w Access zrobić makro, które samodzielnie będzie pobierać plik z zasobu, wykonywał zapisane kwarendy i zapisywał formie zwykłego exela , chyba da się zapisać bezpośredniego w csv.
Kwarendy zrobiłem w SQL i wpiąłem do Accessowego makra - wyszukuje się poprawnie, ale rozbija wyszukiwanie na każdą kwarendę osobno , a nie scala w jedno - to pierwszy problem.
Drugi z którym walczę, to napisanie makra aby otwierał i pobierał dane z konkretnej lokalizacji - ale wywala błędy.
Sub OtworzPlikExcel()
Dim excelApp As Object
Dim excelWorkbook As Object
Dim excelWorksheet As Object
Dim filePath As String
' Ścieżka do pliku Excel
filePath = "C:\ścieżka\do\pliku.xlsx"
' Utwórz nową instancję aplikacji Excel
Set excelApp = CreateObject("Excel.Application")
' Wyłącz wyświetlanie okna Excela
excelApp.Visible = False
' Otwórz plik Excel
Set excelWorkbook = excelApp.Workbooks.Open(filePath - ścieżka pliku)
Set excelWorksheet = excelWorkbook.Sheets("Nazwa_arkusza")
' Pobierz dane z arkusza Excel do Access
Dim wartość As Variant
wartość = excelWorksheet.Range("A1").Value - załóżmy że zakres to od A1 ; A600 do X1 ; X600
chociaż nie wiem czy tutaj nie można użyć in selection?
' Zamknij plik Excel
excelWorkbook.Close
' Zamknij aplikację Excel
excelApp.Quit
End Sub
i w sumie już na początku jest błąd - error 429 - activeX component cant create object
pominąłem tworzenie zatem instancji i wtedy pojawia się taki błąd:
error 91 - object variable or With block variable not set - co pewnie wywołuję się przez to że nie ma obiektu.
I nie wiem jak się za to zabrać. Jakieś pomysły?