En pause kunne måske bruges, mellem at du starter programmet, og sender dine
tastetryk.
Sub Pause()
Dim i as long
i = timer + 30 '30 sekunder
do until timer <= i
doevents
loop
End sub
Du skal nok kigge på api-funktionen (Jeg kan anbefale at kigge på
www.allapi.net)
Declare Function SetFocus Lib "user32" Alias "SetFocus" (ByVal hwnd As Long)
As Long
"Niels Mølgaard Pedersen" <niels@nmp.dk> skrev i en meddelelse
news:9vpfr1$cbn$1@sunsite.dk...
> Hej NG
>
> Jeg sidder og bøvler lidt med et beregningstungt fortranprogram (der er
> compileret/linket som windows-.exe-fil og afvikles i en dosprompt), jeg
> gerne vil have til at blive kaldt fra en makro i excel. Samtidig skal der
> fra excel sendes nogle indtastninger til programmet (som hvis man sad og
> skrev inputs direkte fra tastaturet).
>
> Jeg har prøvet mig frem med nedenstående, men der er tilsyneladende en del
> mandagsproblemer med at styre, hvilket vindue, der er i fokus. Nogle gange
> virker det, andre gange skriver makroen indtastningerne til det excelark,
> hvorfra jeg åbner makroen, og for at gøre det rigtig morsomt skrives
> indtastningerne ind imellem også direkte ned i makroens kode.
>
> Er der en mere driftsikker måde at køre skidtet på end vha 'shell'- og
> 'sendkeys'-metoden, og hvordan styrer jeg, hvilket vindue, der er i fokus,
> når programmets keys sendes afsted, dvs hvilket vindue, der modtager
> indtastningerne?
>
>
>
> Sub sendingkeys()
> '
> ' Macro, which opens calculation program and
> ' sends key information.
>
> ChDir "c:/Program Files/Test"
> 'Sheets("Programinput").Select
>
> AppActivate Shell("calcul.exe ", vbNormalFocus), True
> Application.SendKeys Range("A4") & "~", True ' user initials
> Application.SendKeys Range("A5") & "~", True ' number of iterations
> Application.SendKeys Range("A6") & "~", True ' max error
> :
> :
> :
>
>
> Mvh Niels Mølgaard Pedersen
>
>
>