Hallo Leute, hat jemand ein Code, wie ich eine Grafik aus dem Zwischenspeicher als JPG-Datei speichern kann.
Im vorraus besten Dank
Hallo,
ich glaube kaum dass jemand eine so NICHT-alltägliche Problemlösung parat hält. :-\
Aber du kannst dich da mal schlau machen:
http://www.vbarchiv.net/workshop/workshop_25-die-zwischenablage-im-griff.html (http://www.vbarchiv.net/workshop/workshop_25-die-zwischenablage-im-griff.html)
http://www.office-loesung.de/ftopic448977_0_0_asc.php (http://www.office-loesung.de/ftopic448977_0_0_asc.php)
In VB6 würde/sollte das in etwa so ablaufen:
Private Sub DeinButton_Click()
Dim imgBild As StdPicture
Set imgBild = Clipboard.GetData
SavePicture imgBild, "X:\BildAusZwischenablage.jpg"
Set imgBild = Nothing
End Sub
Ob das in VBA genauso läuft müsstest du ausprobieren
Der Code sieht sehr einfach aus. Leider funktioniert er bei Access VBA nicht. Schade.
Hat jemand noch eine Idee bzw ein Code??
Hallo,
nun, Dr. Google und Co fördern bei entsprechender Suche doch einiges zu Tage ;)
http://www.access-programmers.co.uk/forums/showthread.php?t=245198 (http://www.access-programmers.co.uk/forums/showthread.php?t=245198)
Da findet sich eine Beispielanwendung (Access) mit der ein Bild kopiert und gespeichert wird - also mit Zugriff auf die Zwischenablage.
HTH
Hallo database, besten Dank.
werde versuchen es für meine Anwendung umzubauen.
Ich beziehe die Grafik aus ein Activex Barcodemodul.
Mit dem Befehl Barcode39_1.CopyMetafile wird die Grafik in den Zwischenspeicher übergeben.
Weiß du in welchen codebereich / wie ich am besten die Grafik übergeben kann??
In diesen Bereich wird scheinbar ein Snapshot erstellt. Da müsste ich irgendwie meine Grafik hineinbekommen.
Sub AltPrintScreen()
keybd_event VK_MENU, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
End Sub
Ich bin leider noch anfänger
Hallo,
ich kann dir da leider nicht weiter helfen.
Ich habe mich mit diesen Dingen bis dato nie beschäftigt.
Wenn du die BeispielDB aus meinem Link gezogen hast, dann setze einen Haltepunkt in das Modul und lass dann mit F8 die Sache schrittweise ablaufen.
Was ich so mitbekommen habe, erstellt das Ding eine Kopie des Formularfensters und speichert dieses dann ab.
Aus der Codeablauf-Folge müsste ja ersichtlich sein, wo und wie die Graphik in und aus der Zwischenablage kommt.
Besten Dank erst mal, den Code bin ich bereits schrittweise durchgegangen. Ist nicht ganz einfach zu verstehen. Ich werde mal ein bisschen testen.
Hallo,
falls noch keine lauffähige Lösung vorhanden sein sollte, anbei zwei Links, die unter VBA
1. ein Screenshot erstellen:
http://www.vbarchiv.net/tipps/tipp_13-screenshots-per-quellcode-erstellen.html
und
2. dieses abspeichern:
http://www.office-loesung.de/ftopic136951_0_0_asc.php dort den Beitrag vom 09. Jun 2008, 10:44
Den dort aufgeführten Verweis bitte setzen.
Und noch eine kleine Abwandlung:
Public Function GrafikZwischenablage2Datei(DatName As String) As Boolean
Dim lPicType As Long, oPic As Variant
lPicType = xlBitmap
Set oPic = PastePicture(lPicType)
If Not oPic Is Nothing Then
If lPicType = 2 Then DatName = DatName & ".jpg"
SavePicture oPic, DatName
GrafikZwischenablage2Datei = True
End If
End Function
Der Aufruf erfolgt z.B. mit:
MakeScreenshot (False)
GrafikZwischenablage2Datei (CurrentProject.Path & "\" & "ZZZZ")
Statt dem "aussagekräftigem" Namen "ZZZZ" bitte eigene Vorstellungen verwenden.
Harald
Hi,
und hier nun im Anhang ein Beispiel: Unzippen und die access-Anwendung aufrufen.
Diese minimiert sich dann.
Wird dann mit alt-Druck eine Bildschirm-Kopie in die Zwischenablage gebracht, wird diese im Verzeichnis der access-Anwendung unter dem Namen: HC_Jahr_Monat_Tag_Uhrzeit.jpg gespeichert.
Beendet wird das automatische Speichern {auf dass die Festplatte doch endlich voll werde ;D} durch Schliessen der access-Anwendung.
Harald
Hi Harald,
klingt gut, leider nur als *.mde ? Würde ich gern an meine Anforderungen anpassen... :-)
Gruß Georg
Ah, ich dachte Du würdest die Datei als *.jpg speichern (danach hatte ich gesucht). Ist leider auch nur ein Bitmap, nur mit falscher Extension.
Gruß Georg
Zitat von: HacklSchorsch am Juni 07, 2017, 20:48:51
Ah, ich dachte Du würdest die Datei als *.jpg speichern (danach hatte ich gesucht). Ist leider auch nur ein Bitmap, nur mit falscher Extension.
Hier ist ein Beispiel, wie man eine Bitmap in ein JPG umwandeln kann.
http://www.mvps.org/emorcillo/en/code/vb6/savejpggdip.shtml
Das ist allerdings etwas komplizierter, als nur die Dateiendung zu ändern. ;-)
Hallo Phils
Danke für den Link. Funktioniert prima.
Harald