Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  EXCEL VBA Makro mit Bildern - extreme Dateigröße

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  EXCEL VBA Makro mit Bildern - extreme Dateigröße (964 mal gelesen)
efw380
Mitglied



Sehen Sie sich das Profil von efw380 an!   Senden Sie eine Private Message an efw380  Schreiben Sie einen Gästebucheintrag für efw380

Beiträge: 22
Registriert: 30.11.2013

erstellt am: 18. Jun. 2018 08:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

mit Hilfe des folgenden Excel Makros lade ich ein Bild in eine Imagebox. Das Bild ist u.U. 20MP groß.

Code:
Private Sub Image1_Click()

On Error Resume Next

DoEvents

Dim pic As Variant

ChDrive ActiveWorkbook.Path

pic = Application.GetOpenFilename(filefilter:="JPEG Files (*.jpg;*.jpeg),*.jpg;*.jpeg;", MultiSelect:=False)

    If pic = False Then
        MsgBox "Kein Bild ausgewählt!"
        'Me.Image1.Picture = LoadPicture("")
        Exit Sub
    End If
   
On Error GoTo exit_
'Application.ScreenUpdating = False
       
        With Me.Image1
            .Picture = LoadPicture(pic)
            .PictureSizeMode = fmPictureSizeModeStretch
        End With
       
DoEvents
   
exit_:
 
  Application.ScreenUpdating = True
  If Err Then MsgBox Err.Description, vbCritical, "Error"

End Sub


Das Problem liegt dann aber im Abspeichern der Datei. Diese wächst von 124KB ohne Bildern, auf 350MB mit vier Bildern.

Frage: Woran liegt das, und wie kann ich das verhindern?

Vielen Dank für eure Mithilfe!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



Sehen Sie sich das Profil von Bernd P an!   Senden Sie eine Private Message an Bernd P  Schreiben Sie einen Gästebucheintrag für Bernd P

Beiträge: 3358
Registriert: 07.06.2001

W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365

erstellt am: 18. Jun. 2018 09:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für efw380 10 Unities + Antwort hilfreich

Servus, bekomme den Fehler "Unzulässige Verwendung des Schlüsselworts Me"

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark  Bernd P.

[Diese Nachricht wurde von Bernd P am 18. Jun. 2018 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



Sehen Sie sich das Profil von KlaK an!   Senden Sie eine Private Message an KlaK  Schreiben Sie einen Gästebucheintrag für KlaK

Beiträge: 2624
Registriert: 02.05.2006

Office 2010; Office365
Visual Basic

erstellt am: 18. Jun. 2018 14:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für efw380 10 Unities + Antwort hilfreich


2018-06-18_Bildeinfugen.jpg

 
Hallo efw380,
So ganz verstehe ich Deine Vorgehensweise nicht.
Du lädst ein Bild in eine Imagebox eines Formular? (= Vorschau ? )
Und dann? Speicherst Du das dann mit dem Formular ab oder fügst Du es in das Excelsheet ein?

Beim Einfügen in das Sheet hast Du prinzipiell zwei (genauer drei) Möglichkeiten:
1. Einfügen als Bild
  so machst Du das vermutlich gerade, Excel speichert Bild komplett in der Mappe
2. Einfügen als Link
  Hier wird nur der Speicherpfad des Bildes hinterlegt
  Bild muß bei Weitergabe der Mappe separat mit gegeben werden
3. Kombination aus beiden
  Wird bild nicht in Referenz gefunden wird das gespeicherte abgezeigt

Kannst ja mal manuellen Test machen (Einfügen Grafik, unten umschalten zwischen den Optionen)

Per VBA:
Ausdruck.AddPicture( Filename, LinkToFile, SaveWithDocument, Left, Top, Width, Height )
Über LinkToFile wird der ursprüngliche Pfad mitgespeichert wenn True
Über SaveWithDocument legst Du fest ob Bild innerhalb der Mappe gespeichert wird, muß True sein wenn LinkToFile False ist

Code:

Set myDocument = Worksheets(1)
myDocument.Shapes.AddPicture _
    "c:\microsoft office\clipart\music.bmp", _
    True, True, 100, 100, 70, 70


Grüße
Klaus 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz