Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Konsolenprogramm aus Excel starten

Frage Entwicklung VB for Applications

Mitglied: lena123

lena123 (Level 1) - Jetzt verbinden

08.10.2007, aktualisiert 30.10.2007, 8587 Aufrufe, 4 Kommentare

Hallo!

Ich habe folgendes Problem:
Ich habe ein Konsolenprogramm mit verschiedenen Befehlen, der Grundaufbau lautet:

Name.exe --option1 --option2 -outputfile inputfile

Wobei die Anzahl der Optionen beliebig ist.

Bisher habe ich das programm mit einer Batch-Datei gestartet.
Ich möchte das aber nun weiter automatisieren, d.h. ich möchte das Konsolenprogramm aus Excel (VBA) starten. Ist das grundsätzlich möglich?
Ich weiß dass ich die Batch-Datei mit nem shell-Befehl starten kann, dann muss ich aber die Befehle trotzdem jedesmal neu eintippen.

Mein Ziel ist also dass ich entweder in verschiedene Zellen von Excel oder in ein userform die verschiedenen options eintrage und dann damit das Konsolenprogramm starten kann.
Ist das grundsätzlich möglich? Und wenn ja könnt ihr mir ein paar Tipps für einen Ansatz geben?

Vielen Dank

Gruß
Mitglied: KHP
08.10.2007 um 17:16 Uhr
Hallo,

ist möglich! Ich hab jetzt noch nicht weiter rumprobiert, aber vielleicht hilft folgender Ansatz:
Public Sub shellaufruf(exedat As String)
shellname = Environ("windir") & "\System32\cmd.exe"
a = Shell(shellname & " /K " & exedat, vbNormalFocus)
End Sub
Gruß - Tobias
Bitte warten ..
Mitglied: lena123
08.10.2007 um 17:58 Uhr
Hallo Tobias,

vielen Dank für die Hilfe,
ist schonmal gut dass es geht;)
Ich bin allerdings noch nicht so bewandert in vba, ist mir klar das mit shellname der Pfad angegeben wird, und die Options werden einfach hintereinander für " /K " eingesetzt? Gibt es eine Möglichkeit die Konsole vor der Durchführung anzuzeigen um es besser nachvollziehen zu können?

gruß
Bitte warten ..
Mitglied: KHP
29.10.2007 um 21:49 Uhr
Hui,

ich bin da eben wieder über Dein Posting gestolpert... hast Du's inzwischen hinbekommen? Habs irgendwie übersehen!
Die Optionen müssen in die Variable "exedat" oder dahinter mit einem weiteren &. Vom Prinzip her rufst Du folgendes Kommando auf:
->shellname & " /K " & exedat
= c:\windows\system32\cmd.exe /K meinprogramm.exe -option1 -option2 -optionX

Der Debugmodus von VBA hilft Dir, um den Inhalt der Variablen vor dem Aufruf zu überprüfen.

Gruß - Tobias

p.s. TIPP: Der Aufruf von *.BAT-Dateien ist selbstverständlich auch so möglich
Bitte warten ..
Mitglied: lena123
30.10.2007 um 09:16 Uhr
Hallo Tobias,
ja vielen Dank, hab es hinbekommen, mein code sieht jetzt ungefähr so aus:

Set wshell = CreateObject("Wscript.shell")
wshell.Run "cmd /c " & Chr(34) & test & Chr(34), vbMinimizedNoFocus, True


In test stehen dann meine Optionen, z.B. " --option1 --option2 " usw.
Das True am Ende bewirkt, dass ein Durchgang erst gestartet wird, wenn der letzte beendet wurde.

Viele Grüße lena
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Microsoft Office
gelöst Excel: Text in Zellbereich prüfen mit Vergleichstext ggf. mit Exact-Funktion (5)

Frage von Michi1 zum Thema Microsoft Office ...

Windows 10
"geräte und drucker" unter w8 bzw. w10 zu starten dauert ewig (3)

Frage von tobias3355 zum Thema Windows 10 ...

VB for Applications
Excel VBA Sortierung von Daten (5)

Frage von easy4breezy zum Thema VB for Applications ...

Microsoft Office
gelöst Excel-Formel oder VBA (7)

Frage von nicki01 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...