Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mit Excel anderes Programm fernsteuern (autom.)

Mit Excel anderes Programm fernsteuern (autom.)
29.09.2015 11:06:36
mexx
Hallo zusammen,
ich möchte über den Windows Aufgabenplaner zu einer bestimmten Tageszeit eine Exceldatei ausführen.
Diese Exceldatei sollte ein anderes Programm starten. In diesem Programm müssen diverse Felder befüllt werden. "Hier dachte ich an die VBA Funktion Maus positionieren und klicken" wo nacheinander mehrere dieser Funktionen durchlaufen werden da mehrere Filter gesetzt werden müssen. Die Daten zum befüllen wären dann in dieser Exceldaten vordefiniert. Excel sollte diese kopieren und in die Felder des extern Programms einsetzen.
Danach sollte die Funktion drucken erfolgen und die PDF unter einem bestimmten Pfad ablegen.
Meine Frage an euch ist dies überhaupt so möglich? Kann mir da jemand bitte helfen?

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit Excel anderes Programm fernsteuern (autom.)
29.09.2015 13:25:00
Martin
Hallo mexx,
1. Excel kann über die Objektbibliothek andere Programme ansteuern (z.B. PDF Creator, Internet Explorer, Acrobat, Photoshop und viele andere Anwendungen)
2. Auch per Kommandozeile können andere Programme ferngesteuert werden (z.B. PDFTK und viele andere Anwendungen)
3. Quasi jedes Programm kann von Excel zumindest gestartet werden, wenn der Programmpfad bekannt ist
4. PDF-Dateien zu drucken und unter einem bestimmten Pfad abzulegen ist kein Problem (es gibt unzählige Beispiele im hier im Forenarchiv)
5. Das Positionieren des Mauszeigers und automatisierte Senden von Tastatureingaben ist ebenfalls kein Problem, ist jedoch sehr unsicher hinsichtlich der Zuverlässigkeit. Das betreffende Programm muss nur ein falsches Fenster zeigen oder ein unerwartetes Ereignis auslösen (z.B. ein Dialog zeigen) und Excel bemerkt davon nicht und sendet weiterhin Maus- und Tastaturdaten.
Da du leider nur von einem "anderen Programm" schreibst und die Bezeichnung dieser Anwendung zu nennen, kann dir hier keiner die Frage "ist dies überhaupt so möglich?" mit Sicherheit beantworten.
Viele Grüße
Martin

Anzeige
Satzfehler
29.09.2015 13:31:00
Martin
Hallo Mexx,
ich habe mich verschrieben, es muss natürlich lauten:
Da du leider nur von einem "anderen Programm" schreibst ohne die Bezeichnung dieser Anwendung zu nennen, kann dir hier keiner die Frage "ist dies überhaupt so möglich?" mit Sicherheit beantworten.
Viele Grüße
Martin
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Mit Excel ein anderes Programm automatisiert steuern


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle eine neue Datei oder benutze eine bestehende.

  2. Aktiviere die Entwicklertools: Gehe zu "Datei" -> "Optionen" -> "Menüband anpassen" und aktiviere "Entwicklertools".

  3. Öffne den VBA-Editor: Klicke auf "Entwicklertools" und dann auf "Visual Basic".

  4. Füge ein neues Modul hinzu: Rechtsklicke im Projektfenster und wähle "Einfügen" -> "Modul".

  5. Schreibe den VBA-Code, um das andere Programm zu starten. Beispiel:

    Sub StarteProgramm()
        Dim Pfad As String
        Pfad = "C:\Pfad\zu\deinem\Programm.exe" ' Ändere den Pfad entsprechend
        Shell Pfad, vbNormalFocus
    End Sub
  6. Füge Maus- und Tastaturaktionen hinzu, um die Felder im anderen Programm zu befüllen. Beispiel:

    Sub MausKlicken()
        Application.Wait Now + TimeValue("00:00:02") ' Warte 2 Sekunden
        ' Positioniere die Maus und klicke (dies ist nur ein Beispiel)
        SetCursorPos 100, 200 ' Beispielkoordinaten
        mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
        mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
    End Sub
  7. Nutze den Windows Aufgabenplaner, um das Excel-Programm zu einem bestimmten Zeitpunkt auszuführen.


Häufige Fehler und Lösungen

  • Fehler: Das Programm startet nicht
    Lösung: Überprüfe den Programm-Pfad und stelle sicher, dass du die richtigen Berechtigungen hast.

  • Fehler: Mausaktionen funktionieren nicht zuverlässig
    Lösung: Achte darauf, dass das Zielprogramm im Vordergrund ist. Automatisierte Aktionen sind anfällig für Störungen durch Pop-ups oder andere Fenster.


Alternative Methoden

  • Verwendung der Objektbibliothek: Excel kann über die Objektbibliothek andere Programme ansteuern, wie PDF Creator oder Internet Explorer. Dies ist oft zuverlässiger als Maus- und Tastatureingaben.

  • Kommandozeilensteuerung: Viele Programme können über die Kommandozeile gestartet und gesteuert werden. Dies könnte eine robustere Lösung bieten.


Praktische Beispiele

  1. PDF Creator automatisieren:

    • Verwende VBA, um PDF Creator zu starten und Dokumente zu drucken.
    Sub PDFCreatorStarten()
        Dim pdfApp As Object
        Set pdfApp = CreateObject("PDFCreator.PDFCreatorObj")
        pdfApp.cStart "/NoProcessing"
        ' Weitere Anweisungen zum Drucken
    End Sub
  2. Daten aus Excel in ein Webformular übertragen:

    • Automatisiere das Ausfüllen eines Webformulars, indem du die entsprechenden Felder mit VBA ansteuerst.

Tipps für Profis

  • Nutze SendKeys für Tastatureingaben: Diese Methode kann nützlich sein, um schnell Texte in ein Programm einzugeben, jedoch ist sie ebenfalls anfällig für Fehler.

  • Verwende Fehlerbehandlung: Implementiere On Error Resume Next, um sicherzustellen, dass dein Programm nicht bei einem kleinen Fehler abbricht.

  • Teste regelmäßig: Führe deine VBA-Skripte regelmäßig aus, um sicherzustellen, dass alles wie gewünscht funktioniert, insbesondere nach Softwareupdates.


FAQ: Häufige Fragen

1. Kann ich Excel verwenden, um jedes Programm zu steuern?
Ja, solange der Programmpfad bekannt ist, kann Excel viele Programme starten und steuern.

2. Ist die Automatisierung mit VBA sicher?
Die Automatisierung kann unzuverlässig sein, insbesondere bei Maus- und Tastatureingaben. Es ist wichtig, die Umgebung zu kontrollieren, in der das Skript läuft.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige