napisał: adamekp postów: 3
umieszczony: 2 grudnia 2008 20:13
edytowany: 2 grudnia 2008 20:16
|
|
Witaj,
rozwiazanie jest proste zamiast Sleep 10000 wstawiasz
PDF.WaitForAppAvailable
PDF.WaitForInputReady
Pozdrawiam
Adam |
|
napisał: kabu postów: 30
umieszczony: 16 kwietnia 2008 15:04
|
|
Co do pierwszego problemu - mozna to zapewne rozwiazac jakos ladnie choc ja nie mam pomyslu:). Co do "brzydkiego" rozwiazania to rob zrzuty ekranu i sprawdzaj czy program juz zakonczyl drukowanie - choc bawic sie w cos takiego w vba to wg mnie pomylka. Jesli chcesz robic "makra", ktore "zarzadzja" innymi programami to lepiej uzyj autoit lub autohotkey (sa prosztsze niz vba wiec nie powinienes miec problemu a obsluga ekranu jest tam dosc intuicyjna). |
|
napisał: Radek postów: 8
umieszczony: 15 kwietnia 2008 20:11
|
|
Witam wszystkich,
Napisałem program, który umożliwia drukowanie dowolnej liczby plików pdf. Makro w zasadzie działa poprawnie ale poczucie niepewności dają mi te linijki:
Set PDF = CreateObject("Wscript.Shell")
PDF.Run (jakis adres kolejnego pdf)
PDF.SendKeys ("%fp")
PDF.SendKeys "~"
Sleep 10000
PDF.SendKeys ("%fx")
Otóż, po wydaniu polecenia drukowania Adobe Reader zwykle potrzebuje paru sekund aby je wykonać. Dlatego wprowadziłem 10 sekundową przerwę przed uruchomieniem kolejnych poleceń, tj. zamknięcia dokumentu i uruchomienie w pętli tej samej procedury dla następnego, pdf. 10 sekund najczęściej wystarcza, ale jest metoda nieefektywna, czas oczekiwania jest zwykle za długi, a z drugiej strony zawsze może się zdarzyć spory plik, dla którego 10 sekund to za mało. Czy można sobie jakoś poradzić z tym problemem?
Moje drugie pytanie dotyczy polecenie AppActivate. W przypadku otwierania kolejnych plików pdf działało ono bez zarzutu, natomiast nie wiem jak odnieść się do adresu strony internetowej (poniższy przykład nie działa):
Set ADRES = CreateObject("Wscript.Shell")
ADRES.Run ("http://vbamania.pl")
ADRES = "http://vbamania.pl"
Do Until test = True
test = ADRES.AppActivate("vbamania.pl")
Sleep 500
Loop
pozdrawiam
Radek |
|
wstecz 1 dalej wszystkich stron: 1
|