| | | Xometry verstärkt sein Angebot für die Blechbearbeitung: Mehr Fertigungsoptionen und bessere Sofort-Angebote, eine Pressemitteilung
|
Autor
|
Thema: EXCEL VBA Makro mit Bildern - extreme Dateigröße (1044 / mal gelesen)
|
efw380 Mitglied
Beiträge: 22 Registriert: 30.11.2013
|
erstellt am: 18. Jun. 2018 08:51 <-- editieren / zitieren --> Unities abgeben:
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
Beiträge: 3424 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 / zitieren --> Unities abgeben: Nur für efw380
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
Beiträge: 2799 Registriert: 02.05.2006 Office 2010; Office365 Visual Basic
|
erstellt am: 18. Jun. 2018 14:58 <-- editieren / zitieren --> Unities abgeben: Nur für efw380
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 >>)
|