Avatar billede jespersahner Nybegynder
05. december 2002 - 15:08 Der er 6 kommentarer og
1 løsning

Eksekvering af eksternt program (SAS) fra Excel vha. Visual Basic

Jeg har en ambition om at eksekvere et eksternt program (SAS) fra Excel. Programmet skal læse fra en fane og skrive i en anden. Denne del har jeg styr på, hvis jeg eksekverer programmet 'by hand'.

Jeg har forsøgt med flg. Visual Basic-macro:

Sub Makro1()
    MyAppID = Shell("c:\SAS.exe", 1)
    AppActivate ("MyAppID")
End Sub

Macroen virker bortset fra, at jeg får fejlmeddelsen "Kørselsfejl 5: Procedurekaldet eller argumentet er ugyldigt".

Hvis jeg accepterer fejlen, bliver mit SAS-program dog udført som ønsket.

Hvordan tilretter jeg min macro-kode? - eller er der en anden måde at gøre det på?

Jeg har læst lidt om DDE (Dynamic Data Exchange), men jeg kender næsten intet til Visual Basic.
Avatar billede Slettet bruger
05. december 2002 - 15:46 #1
Du kan vistnok også starte Excel fra SAS, se:
http://www.utexas.edu/cc/faqs/stat/sas/sas87.html

Det kunne måske være en anden mulighed ?
Avatar billede jespersahner Nybegynder
05. december 2002 - 18:41 #2
Denne teknik bruger jeg allerede. SAS kan uden videre læse og skrive fra og til Excel. Ideen er, at brugeren slet ikke skal have noget med SAS at gøre, det skal bare køre i baggrunden så at sige - eventuelt på en helt anden platform.
Avatar billede Slettet bruger
05. december 2002 - 19:21 #3
Shell funktionen returnerer et tal. Din fejl opstår muligvis
fordi du har MyAppID i anførselstegn. Du kan nøjedes med.

-------------------
AppActivate MyAppID
-------------------
Avatar billede tubber Juniormester
05. december 2002 - 23:23 #4
Det kan også være din shell skal se sådan ud :

MyAppID = Shell("c:\SAS.exe"), 1

Hvorfor den sommetider kræver tallet uden for parantesen ved jeg ikke, for den siger selv den vil have tallet inden i parantesen ?

/Tubber
Avatar billede jespersahner Nybegynder
06. december 2002 - 18:20 #5
Problemet er AppActivate, som simpelthen bare skal udelades, så virker det!
Avatar billede Slettet bruger
25. marts 2004 - 10:16 #6
jespersahner >> Er spørgsmålet stadigvæk aktuelt ?
Avatar billede jespersahner Nybegynder
29. november 2004 - 11:24 #7
Lukker spm.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester