• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Een ander programma starten met VBA

Status
Niet open voor verdere reacties.

Kevinw01

Gebruiker
Lid geworden
23 jun 2009
Berichten
85
Allen,

Misschien een complexe vraag voor sommige, maar voor andere makkelijk op te lossen? :o

Op mijn werk werken wij met SAS (programmeertaal), hierin draaien we bepaalde programma's en de output plakken we daarvan in Excel.

Nu denk ik dat dit sneller kan en vandaar mijn vraag als volgt:

Kan ik via VBA automatisch het SAS programma op laten starten, inloggen, de uitvoeringen doen en vervolgens het menu bovenin gebruiken (bestand, bewerken, beeld) Dus dat alles automatisch gaat.

Ik weet dat je via VBA bepaalde externe programma's kunt openen, maar ik zie voornamelijk voorbeeld over Kladblok, Internet, Calc, alles wat dus van Microsoft is.

Let wel op, ik werk hier vanaf het Netwerk dus heb geen C:-schijf. Wie kan mij Helpen aub? :rolleyes:

Groetjes Kevin:cool:
 
Kevin,

Ik weet niet of Micosoft SAS ondersteund, maar je kan eventueel uitwijken de functie 'Shell'.
Kijk daar eens naar in de helpfunctie.

Met deze functie kan je ook een DOS-bath file opstarten en misschien kan je daar e.e.a. regelen. Parameters van SAS ken ik niet maar dat zou mogelijk moeten zijn.

Succes.

Wim
 
Kevin,

Ik weet niet of Micosoft SAS ondersteund, maar je kan eventueel uitwijken de functie 'Shell'.
Kijk daar eens naar in de helpfunctie.

Hoi Wim,

Dank je voor de snelle reactie. Ik weet wel het SAS pakket waarmee ik werk kun je ook macro's opnemen en VBA schrijven, maar dat is toch weer een ander verhaal dan VBA in excel.

Groeten Kevin
 
Allen, ik heb al gevonden hoe je het programma opstart.
Heb dit via een .cmd bestand gedaan

HTML:
Sub test()
Dim RetVal
RetVal = shell("P:\Personal\test.cmd", 1)
End Sub

Nu hopen dat ik het inloggen etc kan toepassen.
Ik laat de vraag nog even opstaan, bij voorbaat dank.
 
Dat lijkt me nogal omslachtig.
Kijk in de VBEditor bij verwijzingen of daar een verwijzing naar jouw (SAS) programma staat.
Zo ja, vink dat dan aan.
Nu kun je vanuit Excel he programma starten met:

Createobject("SAS.application")

of een SAS-bestand openen met

Getobject("C:\bestand.sas")

PS. vervang de tekst tussen aanhalingteken door juiste gegevens.
 
Hoi Snb,

Ik snap wat je bedoel en het sowieso een hele goede tip. Maar ik ga het nog ff eens stukje toelichten. Het is niet een SAS programma zelf dat ik moet opstarten. Wij werken hier met een mainframe en zo heet ook dat programma, binnenin dat programma kun je SAS programma's maken en draaien.

Nu is mijn bedoeling om met vba het mainframe op te starten, automatisch in te loggen en het juiste programma zoeken en draaien en downloaden als output.txt.

Dus daar zitten wel enkele moeilijke stukken in, waaronder het opstarten + inloggen met mijn userid en ww. Ik hoop hiermee wat extra info te hebben gegeven? :o

Super in ieder geval voor het meedenkwerk :thumb:

Groetjes Kevin
 
Ik denk dat nu de titel van deze draad de inhoud van je vraag niet meer dekt: hoe log ik met VBA in op een mainframe ?

Dat zul je met een shell commando moeten doen, maar handiger lijkt mij met een bat of cmd bestand.
 
Voor dat inloggen zit nog een stap en dat is het mainframe opstarten, maar nu wil ik idd bij het opstarten gelijk kunnen inloggen. Het .cmd bestand dat werkt. En na het inloggen moet dus vba automatisch die programma's opstarten.

Maar ik vrees dat het makkelijker is uitgelegd dan gedaan en ik vind het sowieso moeilijk het te verwoorden :(

Maar het mainframe is zo'n ouderwets programma ergens uit de jaren 70/80....
Maar met Shell krijg ik het sowieso niet aan de praat...

Heeft er niet iemand een stukje script waarin je een login maakt waar je je userid + ww in moet voeren? Dit zou me al een eindje opweg helpen met de grote puzzel :D Maar dat login script moet onder dat scriptje van dat .cmd bestand?

Groetjes
 
Hoe log je nu dan in op het mainframe ?

Plaats de code die je gebruikte met shell eens hier.
 
Ik type gewoon bij userid mijn usernummer en bij wachtwoord mijn wachtwoord




En ik heb die shell van Wim proberen te gebruiken, maar dat kreeg ik niet echt voor elkaar :o
 
Ik type gewoon bij userid mijn usernummer en bij wachtwoord mijn wachtwoord




En ik heb die shell van Wim proberen te gebruiken, maar dat kreeg ik niet echt voor elkaar :o

Hoe je inlogged is niet zo belangrijk. Uit veiligheid moet je dat iedere keer toch met de hand doen.

In de functie Shell roep je het commandfiletje aan.
In dat filetje moet je dan de opdracht gebruiken waarmee je SAS opstart.
Dat kan je vinden bij de eigenshappen in programma's.
Wat daar staat neem je dan over in je commandfile als regel.

Zou moeten werken
 
Wim,

Het opstarten van het mainframe is gelukt, geen probleem dank je wel. Maar het volgende als ik mijn wachtwoord handmatig in moet typen, kan ik nadat mijn wacht heb bevestigd mijn macro weer op 1 of andere manier verder triggeren?
 
Kevin,

In principe denk ik niet dat je als het mainframe programma is gestart de macro van EXcel hier nog iets kan betekenen.

Soms is het wel mogelijk dat er in een mainframe programma ook scriptje kunnen worden gemaakt, maar daar heb ik weinig kennis van.

Helaas kan ik je dus ook niet verder helpen.

Wim
 
Hoi Wim,

Toch bedankt, dan zal ik helaas de vraag op opgelost moeten zetten ben ik bang :(
Maar in ieder geval super bedankt voor de moeite.:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan