2k Aufrufe
Gefragt in Tabellenkalkulation von little-key Mitglied (333 Punkte)
Wieder mal ein Problem, wo ich Hilfe benötige:

Hier mein Code-Ausschnitt:

' PDF-Datei ins Webspace versenden
Dim iBox As String
iBox = MsgBox("Soll die PDF-Datei gleich ins WEB versendet werden?", vbYesNo + vbQuestion, "PDF-VERSAND")
If iBox = vbYes Then
Shell ("U:\BAT\FILFTP.EXE @U:\BAT\GE_S-FTP.cfg")
Else

' abspeichern als Vorlage und beenden
Dim sBook As Workbook
ActiveWorkbook.SaveAs Filename:="U:\GROSSER\Preislisten\Monacor_last-pdfconvert.xls", _
FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
For Each sBook In Workbooks
If (sBook.Name <> ActiveWorkbook.Name) And (sBook.Name <> ThisWorkbook.Name) Then
sBook.Close savechanges:=False
End If
Next sBook

End If


Wenn der Shell-Aufruf mit NEIN aufgerufen wird läuft der Code weiter.
Wenn mit JA aufgerufen, dann wird das externe Programm ausgeführt und bleibt dann stehen. Es soll aber nach/beim Ausführen des externen Programms auch den Code nach "else" weiter ausführen.

Wie geht das. Bitte um Hilfe.
Gruß Mario

6 Antworten

0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi mario :-)

mache es in der art :-))

gruss nighty

Dim WshShell As Object
Set WshShell = CreateObject("Wscript.Shell")
WshShell.Run "C:\windows\notepad.exe", 1
0 Punkte
Beantwortet von little-key Mitglied (333 Punkte)
Danke nighty,

aber der Code wird nach dem Shell-Aufruf auch nicht weiter ausgeführt.
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi mario :-)

bei mir unter excel 2000 wird der code fortgesetzt

ich mach mir nochmal gedanken darueber, vielleicht koennen ja andere member auch noch egaenzen :-)

gruss nighty
0 Punkte
Beantwortet von little-key Mitglied (333 Punkte)
Ja im Normalfall wird er auch fortgesetzt. Aber unter den Bedingungen der MsgBox-Abfrage wie oben im Code????
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi mario :-)

vielleicht liegt es auch an deiner merkwuerdigen verschachtelung,die so nicht gestattet ist

deine erste if abfrage endet in der letzten for nextschleife ,statt ausserhalb :-)))

gruss nighty
0 Punkte
Beantwortet von little-key Mitglied (333 Punkte)
War eigentlich ganz einfach:

Das else durch ein End If ersetzen und das letzte End If raus...

Trotzdem vielen DAnk
...