Syntax RUN befehl

  • Hallo,

    ich habe einb kleines Programm, dass erkennen soll, ob Notepad auf dem PC läuft.

    Wenn das Programm Notepad nicht läuft kommt nur ein Infofenster wenn es läuft wird eine Exceldatei gestartet.

    Ich komme mit den RUN befehl nicht klar. Lasse ich den Teil mit den Arbeitsverzeichnis leer öffnet sich das Exel wie gewünscht.

    Aber ich benötige ja auch die Exceldatei (2020.xlsx)

    Könnt ihr bitte mal drüberschauen was ich falsch gemacht habe.

    Programm:

    ==================================================================================================================

    #include <MsgBoxConstants.au3>

    If ProcessExists("notepad.exe") Then ; prüft ob das Programm Notepde läuft

    RUN("C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE", "C:\Users\knebelmario\Documents\2020.xlsx", @SW_SHOWMAXIMIZED)

    Else

    MsgBox ($MB_SYSTEMMODAL, "Infofenster", "Notepad ist nicht gestartet")

    EndIf

    ==================================================================================================================

  • Hallo Mario,

    du musst ein "Arbeitsverzeichnis" angeben, nicht eine *.xlsx, also "C:\Users\knebelmario\Documents\" z.B.

    Wenn du willst das die Datei "C:\Users\knebelmario\Documents\2020.xlsx" geöffnet wird musst du es so schreiben:

    AutoIt
    RUN("C:\Users\knebelmario\Documents\2020.xlsx", "C:\Users\knebelmario\Documents\", @SW_SHOWMAXIMIZED)

    Wobei das zweite (Arbeitsverzeichnis) "C:\Users\knebelmario\Documents\" nicht unbedingt benötigt wird, das müsstest du selber entscheiden.

    In diesem Fall öffnet sich die Datei in dem dafür in Windoof zugewiesenen Standardprogramm, also normalerweise Excel.

    Einmal editiert, zuletzt von Moombas (14. Januar 2020 um 09:44)

  • Dann versuch es mal mit Shellexecute:

    AutoIt
    ;ShellExecute ( "filename" [, "parameters" [, "workingdir" [, "verb" [, showflag]]]] )
    ShellExecute ("C:\Users\knebelmario\Documents\2020.xlsx", "", "C:\Users\knebelmario\Documents\", "", @SW_SHOWMAXIMIZED)

    bzw. folgendes müsste auch gehen:

    AutoIt
    ShellExecute ("C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE", "C:\Users\knebelmario\Documents\2020.xlsx", "C:\Users\knebelmario\Documents\", "", @SW_SHOWMAXIMIZED)

    Ich war eigentlich der Meinung das das mit Run() auch geht aber vllt. bin ich da gerade falsch.


    Nachtrag:

    Laut Internet müsste folgendes eigentlich auch gehen:

    AutoIt
    Run('"C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE" "C:\Users\knebelmario\Documents\2020.xlsx"')

    Einmal editiert, zuletzt von Moombas (14. Januar 2020 um 10:48)

  • Hallo Moombas

    danke für deine Hilfe.

    Also ich hab mal RUN auf 2 anderen PC´s probiert es geht überall nicht.

    Dein mittlerer teil mit ShellExecute läuft.

    :klatschen:

    Danke für die Hilfe