Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Umkehrung des ShellExecute Befehls - Dateien schließen
#1
Hallo Experten,

brauche dringend fachliche Hilfe.

Ich habe folgenden voll funktionierenden Code in mein Programm implementiert, mit dem (beispielhaft) eine Epub Datei geöffnet wird:


Code:
Option Explicit
Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
      (ByVal hwnd As Long, ByVal lpOperation As String, _
       ByVal lpFile As String, ByVal lpParameters As String, _
       ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Sub Test()

ShellExecute Application.hwnd, "Open", "C:\Verzeichnis\Datei.epub", _
            vbNullString, vbNullString, vbNormalFocus

End Sub

Ich bräuchte jetzt den Code dafür, wie man diese Datei wieder schließt. Bitte bedenkt, dass es sich bei diesen Vorgängen nicht
um Excel Dateien, sondern um beliebige andere Dateien handelt.
Antworten Top
#2
Geöffnete Dateien lassen sich einfach schließen, indem man das mit ihnen assozierte Anwendungsprogramm selbst schließt. Bei der
hier gestellten Frage mit epub-Dateien wäre dies z.B. Sigil.exe.  Durch folgenden Programmcode läßt sich die Aufgabe wie folgt
bewältigen:

Code:
Sub Dateischliessen()
Open "c:\Killer.cmd" For Output As #1
Print #1, "taskkill /f /im Sigil.exe" & vbNewLine & "Del Killer.cmd"
Close #1
ShellExecute Application.hwnd, "Open", "C:\Killer.cmd", vbNullString, vbNullString, vbNormalFocus
End Sub
Wie der Code offenbart, läßt sich die Aufgabe mit leichtester Modifikation auch für eine beliebige Anzahl anderer Dateitypen
parallel und individuell gestalten.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste