ich komme leider nicht alleine weiter und bitte daher um eure Hilfe!!!!
Folgendes möchte ich erreichen:
Ich habe in 2 Tabellenblätter jeweils ein Image. Nun möchte ich, dass wenn gespeichert wird, dass vor dem speichern das bild im Image1 gelöscht wird, dann gespeichert wird, danach wieder das Bild geladen wird ohne dann noch einmal zu speichern.
Den unten aufgeführten Code habe ich aus dem Forum. Aber er funzt nicht. Die Datei wird mit den Bildern im Image gespeichert. Dadurch wird die Datei sehr groß.
Ich benutzte Excel 2007, hängt es damit zusammen, dass das Makro nicht funzt?
Gruß DirkR
Dim booCancel As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.ScreenUpdating = False
'Dein Makro vor Speichern
Sheets("Formblatt").Image1.Picture = Nothing
Sheets("Z2 V").Image1.Picture = Nothing
If Not booCancel Then
booCancel = True
If SaveAsUI Then 'wurde speichern unter gewählt?
Application.Dialogs(xlDialogSaveAs).Show
Else
Me.Save
End If
'Dein Makro nach speichern
With Sheets("Formblatt")
.Image1.Picture = LoadPicture("L:\X-Arbeitsordner\Bilder KO K01-16 (neue Gl.Nr.)\KO-" _
& Sheets("Datenbank").Cells(.ComboBox1.ListIndex + 21, 7).Value & ".JPG")
End With
With Sheets("Z2 V")
.Image1.Picture = LoadPicture("L:\X-Arbeitsordner-\Bilder KO K01-16 (neue Gl.Nr.)\KO-" _
& Sheets("Datenbank").Cells(.ComboBox1.ListIndex + 21, 7).Value & ".JPG")
End With
booCancel = False
End If
If Not booCancel Then Cancel = True: SaveAsUI = False 'speichern abbrechen
Application.ScreenUpdating = True
End Sub