• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Stworzenie makra w Access, które pobiera plik z Exela i zaczytuje jego dane

Object Storage Arubacloud
0 głosów
242 wizyt
pytanie zadane 19 maja 2023 w Visual Basic przez Marys94 Nowicjusz (120 p.)

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?

 

komentarz 19 maja 2023 przez VBService Ekspert (253,340 p.)

Zgaduję, że błąd

error 429 - activeX component cant create object

dotyczy tego zapisu

 

Set excelApp = CreateObject("Excel.Application")

 

AFAIK bez poprawnego pobrania instancji aplikacji Excel-a, dalsza część kodu nie zadziała.

Uporaj się w pierwszej kolejności z tym błędem:

error 429 - activeX component cant create object

komentarz 20 maja 2023 przez Marys94 Nowicjusz (120 p.)
No tak tyle to wiem sam. Poczytałem i to niby błędy w rejestrze aplikacji. No ale z tym akurat nic nie zrobię, bo grzebanie w rejestrach jest po stronie administratora. Jakiś inny pomysł żeby napisać taki kod?

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 190 wizyt
pytanie zadane 1 września 2022 w Visual Basic przez morking Nowicjusz (210 p.)
0 głosów
0 odpowiedzi 298 wizyt
0 głosów
0 odpowiedzi 193 wizyt
pytanie zadane 6 kwietnia 2020 w Visual Basic przez Jarek K. Początkujący (330 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...