Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Screenshot in VBA

Forumthread: Screenshot in VBA

Screenshot in VBA
14.07.2006 11:23:39
Swen
Hallo an alle,
wie kann ich in VBA einen Screenshot von dem aktiven Fenster machen?
Gruß
Swen
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Screenshot in VBA
14.07.2006 11:49:06
Manne52
Hallo Sven,
wenn ich dich richtig verstanden habe, wird damit ein Screenshot von aktiven Fenster in die Zwischenablage transportiert:

Sub Screenshot()
SendKeys "%{PRTSC}"
End Sub

VG Manne
AW: Screenshot in VBA
14.07.2006 13:54:20
Swen
Hallo an alle,
das funtzt nicht,
ich möchte ein Fenster in die zwischenablage kopieren und
dann als bild datei auf ein neuen Tebellenblatt einfügen.
Gruß
Swen
Anzeige
AW: Screenshot in VBA
14.07.2006 14:05:28
Manne52
Hallo,
wenn dein aktives Fenster mit dem Makro in die Zwischenablage transportiert wurde, ist es doch nur noch notwendig, die Tabelle zu aktivieren, wo der Screenshot eingefügt werden soll und dort die Schaltfläche "Einfügen" zu betätigen.
Wenn es denn unbedingt eine Bilddatei sein soll, fügt man in einem Bildbearbeitungsprogramm den Screenshot als neues Bild ein, speichert es dort ab und hat dann die Möglichkeit in Excel unter "Einfügen, Grafik, aus Datei" einzufügen.
VG Manne
Anzeige
AW: Screenshot in VBA
14.07.2006 16:32:42
Swen
Hallo Manne,
hier nochmal eine Erklärung was ich machen möchte:
1. Ich möchte auf eine UserForm einen Button haben mit der Beschriftung "DRUCKEN"
2. Wenn ich diesen drucke möchte ich dieses Fenster im Hochformat auf dem aktiven Drucker ausdrucken
gruß
swen
AW: Screenshot in VBA
18.07.2006 16:50:41
otto
Hi,
meinst du
Me.PrintForm ?
Der Befehl druckt dir deine gerade aktive Userform aus.
Gruß otto
Anzeige
AW: Screenshot in VBA
14.07.2006 13:40:51
Manne52
Hallo Swen,
Rückmeldung, ob das so gemeint war, wäre gut.
VG Manne
AW: Screenshot in VBA
14.07.2006 13:54:42
Martin
Hallo Swen,

Sub Foto2()
Worksheets(1).Range("A1:D7").CopyPicture Appearance:=xlScreen, Format:=xlBitmap
Worksheets(2).Paste Destination:=Worksheets(2).Cells(1, 1)
End Sub

kopiert den Bereich A1:D7 aus der ersten Tabelle als Graphik in die zweite Tabelle.
Gruß
Martin Beck
Anzeige
;
Anzeige

Infobox / Tutorial

Screenshot in VBA


Schritt-für-Schritt-Anleitung

Um in VBA einen Screenshot von dem aktiven Fenster zu erstellen, kannst du folgende Schritte befolgen:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.
  2. Modul erstellen: Klicke mit der rechten Maustaste auf eine beliebige Stelle im Projektfenster und wähle Einfügen > Modul.
  3. Code einfügen: Füge den folgenden Code in das Modul ein, um einen Screenshot vom aktiven Fenster in die Zwischenablage zu kopieren:
    Sub Screenshot()
       SendKeys "%{PRTSC}"
    End Sub
  4. Screenshot einfügen: Aktiviere das Arbeitsblatt, in das der Screenshot eingefügt werden soll, und drücke STRG + V, um den Screenshot einzufügen.
  5. Bild speichern (optional): Um den Screenshot als Bilddatei zu speichern, kannst du ihn in einem Bildbearbeitungsprogramm öffnen und dort speichern.

Häufige Fehler und Lösungen

  • Fehler: Der Screenshot wird nicht in die Zwischenablage kopiert.

    • Lösung: Stelle sicher, dass das aktive Fenster fokussiert ist, bevor du den SendKeys-Befehl ausführst.
  • Fehler: Der Screenshot wird nicht eingefügt.

    • Lösung: Überprüfe, ob du das richtige Arbeitsblatt aktiviert hast und dass du STRG + V drückst, um den Screenshot einzufügen.

Alternative Methoden

Falls du eine andere Methode ausprobieren möchtest, kannst du auch den folgenden VBA-Code verwenden, um einen Bereich in Excel als Bild zu kopieren:

Sub Foto2()
    Worksheets(1).Range("A1:D7").CopyPicture Appearance:=xlScreen, Format:=xlBitmap
    Worksheets(2).Paste Destination:=Worksheets(2).Cells(1, 1)
End Sub

Dieser Code erstellt ein Excel screenshot von dem angegebenen Bereich und fügt ihn in ein anderes Arbeitsblatt ein.


Praktische Beispiele

  • Screenshot eines UserForms: Um ein userform vba screenshot zu erstellen, kannst du den Befehl Me.PrintForm verwenden, wenn du auf einen Button klickst. Das druckt das UserForm direkt auf dem aktiven Drucker aus.

  • Screenshot eines aktiven Fensters: Verwende den SendKeys-Befehl, um einen Screenshot des aktiven Fensters zu erstellen und in die Zwischenablage zu kopieren, bevor du ihn in Excel einfügst.


Tipps für Profis

  • Nutze die Möglichkeit, Screenshots zu automatisieren, indem du diese Funktionen in deine Makros integrierst.
  • Experimentiere mit verschiedenen Formaten beim Einfügen von Bildern, um die beste Qualität für deine excel screenshot zu erzielen.
  • Denke daran, Screenshots regelmäßig zu speichern, um die Qualität deiner Dokumentation sicherzustellen.

FAQ: Häufige Fragen

1. Kann ich mit VBA Screenshots von mehreren Fenstern machen?
Nein, vba screenshot kann nur das aktuell aktive Fenster erfassen. Um mehrere Fenster zu erfassen, musst du dies nacheinander tun.

2. Gibt es eine Möglichkeit, Screenshots direkt als Bilddatei zu speichern?
Ja, du kannst den Screenshot zunächst in die Zwischenablage kopieren und dann in einem Bildbearbeitungsprogramm speichern. Alternativ kannst du auch VBA verwenden, um Screenshots zu erstellen und diese direkt als Datei zu speichern.

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