Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Kopiowanie z Excela do przeglądarki VBA

Devastatoor 12 Jul 2014 03:41 2160 8
  • #1
    Devastatoor
    Level 9  
    Hej,
    mam mały problem, staram się zrobić w miarę prostą rzecz(tak mi się wydawało), mianowicie:
    mam plik w excelu z którego to wczytują mi się 4 zmienne, powiedzmy a,b,c,d. Każda z nich ma przypisane wartości odpowiednich komórek z excela (to sobie zrobiłem). czyli teraz mam 4 zmienne które maja nadane wartości przez użytkownika (np. a = Cells(i, j))
    ale... chciałbym je teraz skopiować do takiego programu bazującego na przeglądarce internetowej. Ustawiłem sobie automatyczne otwieranie przeglądarki już w tym konkretnym programie w wymaganej ścieżce, tylko teraz potrzebowałbym, aby moje dane, a,b,c,d były wklejane odpowiednio do przeglądarkowego okna w kolejności:
    a -> TAB -> b -> TAB -> c -> TAB -> d -> RETURN, po tym wrócę sobie do excela wyzeruje a,b,c,d i przejdę do kolejnej kolumny bo muszę wczytywać po 4 wiersze, ale na chwilę obecna utknąłem właśnie w miejscu wklejania tych danych do przeglądarki...



    zrobiłem przełączanie okien z excela do przeglądarki poprzez zwykłe makro ALT+TAB więc kursor od razu jest w odpowiednim miejscu więc tylko brakuje mi tego wklejenie tych 4 danych.

    Będę wdzięczny za pomoc
    pozdrawiam
  • #2
    marcinj12
    Level 40  
    Czy po wklejeniu tych 4 danych do przeglądarki, a przed pobraniem kolejnej porcji, musisz wykonać w niej jakąś akcję (kliknąć przycisk zapisujący dane)?
  • #3
    Devastatoor
    Level 9  
    nie muszę, te 4 dane po skopiowaniu i naciśnięciu pomiędzy nimi odpowiednio Tab a na końcu entera to wszystko, samo naciśnięcie entera jest potwierdzeniem ich zapisu i automatycznie wraca do pierwszego okna gdzie mogę wprowadzić kolejne dane od początku
    a -> TAB -> b -> TAB -> c -> TAB -> d -> ENTER,
  • #4
    marcinj12
    Level 40  
    Ale uwzględniłeś, że samo zapisanie danych też trochę trwa? To będzie większy problem, niż jak coś wysłać do przeglądarki - odpowiedź na pytanie, kiedy można wysłać następną porcję danych...
  • #5
    Devastatoor
    Level 9  
    trafna uwaga kolego, kształtuje się to mniej więcej tak:
    wklejam a -> TAB -> pauza (5sek) ->
    wklejam b -> TAB -> pauza (5sek) ->
    wklejam c -> TAB -> pauza (5sek) ->
    wklejam d -> ENTER -> pauza (10sek)
  • #6
    JRV
    VBA, Excel specialist
    Kopiowanie z Excela do przeglądarki VBA Najlepiej użyć obiekt przeglądarki i MSHTML, uruchom go z ekselia, a dane przy użyciu pola ID.
    Możesz śledzić czy zajęty IE(Właściwość objIE.Busy)
  • Helpful post
    #7
    marcinj12
    Level 40  
    Możesz też popróbować trochę partyzancko w tym stylu - kwestia napisania odpowiednich pętli i dobraniu czasów na zapas.

    Code: vb
    Log in, to see the code
  • #8
    Devastatoor
    Level 9  
    właśnie coś takiego chciałem osiągnąć marcinj12, genialne :)

    dziękuję bardzo za pomoc

    btw.
    jeszcze jedna sprawa, jeśli jedna z moich komórek jest ciągiem znaków przykładowo:
    1234~5678
    to z powodu tyldy nie zadziała tutaj SendKeys(1234~5678)
    jest jakiś sposób żeby to obejść?

    jeśli tylde zamienię "ręcznie" i będzie 1234{~}5678 to jest ok ale czy można to robić szybciej, możę jakiś replace?

    tutaj widocznie coś nie gra
    Code: vb
    Log in, to see the code
  • #9
    dawidb84
    Level 1  
    Witaj,

    Czy mógłbym prosić o kod który udało Ci się stworzyć?

    Próbuję zrobić makro które loguje się na konkretną stronę www, przechodzi nastepnie do formularza, uzupełnia i finalnie czeka na aż w mojej gestii będzie tylko kliknięcie OK na stronie www

    Byłbym wdzięczny za podzielenie się.

    Pozdrawiam.
    d