Access-o-Mania

Access-Forum => Access Programmierung => Thema gestartet von: Dagmar176 am April 15, 2014, 19:42:02

Titel: Bild im Zwischenspeicher als JPG Datei speichern?
Beitrag von: Dagmar176 am April 15, 2014, 19:42:02
Hallo Leute, hat jemand ein Code, wie ich eine Grafik aus dem Zwischenspeicher als JPG-Datei speichern kann.

Im vorraus besten Dank
Titel: Re: Bild im Zwischenspeicher als JPG Datei speichern?
Beitrag von: database am April 15, 2014, 20:33:39
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:

Code: (vb) [Auswählen]
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
Titel: Re: Bild im Zwischenspeicher als JPG Datei speichern?
Beitrag von: Dagmar176 am April 16, 2014, 08:07:09
Der Code sieht sehr einfach aus. Leider funktioniert er bei Access VBA nicht. Schade.

Hat jemand noch eine Idee bzw ein Code??
Titel: Re: Bild im Zwischenspeicher als JPG Datei speichern?
Beitrag von: database am April 16, 2014, 12:08:28
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
Titel: Re: Bild im Zwischenspeicher als JPG Datei speichern?
Beitrag von: Dagmar176 am April 16, 2014, 13:29:40
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
Titel: Re: Bild im Zwischenspeicher als JPG Datei speichern?
Beitrag von: database am April 16, 2014, 13:43:45
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.
 
 
Titel: Re: Bild im Zwischenspeicher als JPG Datei speichern?
Beitrag von: Dagmar176 am April 16, 2014, 14:09:26
Besten Dank erst mal, den Code bin ich bereits schrittweise durchgegangen. Ist nicht ganz einfach zu verstehen. Ich werde mal ein bisschen testen.

Titel: Re: Bild im Zwischenspeicher als JPG Datei speichern?
Beitrag von: bahasu am April 22, 2014, 08:09:37
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:
Code: (vb) [Auswählen]
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:
Code: (vb) [Auswählen]
    MakeScreenshot (False)
    GrafikZwischenablage2Datei (CurrentProject.Path & "\" & "ZZZZ")

Statt dem "aussagekräftigem" Namen "ZZZZ" bitte eigene Vorstellungen verwenden.

Harald
Titel: Re: Bild im Zwischenspeicher als JPG Datei speichern?
Beitrag von: bahasu am April 22, 2014, 13:57:40
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
Titel: Re: Bild im Zwischenspeicher als JPG Datei speichern?
Beitrag von: HacklSchorsch am Juni 07, 2017, 20:37:58
Hi Harald,
klingt gut, leider nur als *.mde ?  Würde ich gern an meine Anforderungen anpassen...  :-)

Gruß Georg

Titel: Re: Bild im Zwischenspeicher als JPG Datei speichern?
Beitrag 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.

Gruß Georg
Titel: Re: Bild im Zwischenspeicher als JPG Datei speichern?
Beitrag von: PhilS am Juni 07, 2017, 23:09:58
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. ;-)
Titel: Re: Bild im Zwischenspeicher als JPG Datei speichern?
Beitrag von: bahasu am Dezember 11, 2017, 10:24:05
Hallo Phils

Danke für den Link. Funktioniert prima.

Harald