Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1144to1148
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Anpassung code:Bilder aus Tabelle exportieren

Anpassung code:Bilder aus Tabelle exportieren
Karel
Hallo Leute,
unterstehende Code hab ich von Josef Ehrensberger, alle bilder in Excel mappe werden exportiert funktioniert wonderbar, Alle bilder werden Komprimiert exportiert.
Meine Fragen wie kan ich Bilder exportieren ohne dass die komprimiert werden wie jetzt.
Code:
Option Explicit
'BILDER exportieren
Sub savePictures()
Dim objShp As Shape
Dim strPath As String
On Error GoTo Errexit
strPath = fncBrowseForFolder
If strPath = "" Then Exit Sub
Application.ScreenUpdating = False
For Each objShp In ActiveSheet.Shapes
If objShp.Type = msoPicture Then
Exportieren objShp, strPath & "\" & objShp.Name & ".gif"
End If
Next
Errexit:
Application.ScreenUpdating = True
End Sub
Private Function Exportieren(myShape As Shape, FileName As String)
'Idea by Nepumuk
Dim myChart As Chart, myChartObject As ChartObject
Set myChart = Charts.Add
Set myChartObject = ActiveChart.ChartObjects.Add(0, 0, _
myShape.Width, myShape.Height)
myShape.Copy
With myChartObject
With .Chart
.ChartArea.Border.LineStyle = xlLineStyleNone
.Paste
.Export FileName:=FileName, _
FilterName:="GIF", Interactive:=False
End With
.Delete
End With
Application.DisplayAlerts = False
myChart.Delete
Application.DisplayAlerts = True
Set myChart = Nothing
Set myChartObject = Nothing
Set myShape = Nothing
End Function
Private Function fncBrowseForFolder(Optional ByVal defaultPath = "") As String
Dim objFlderItem As Object, objShell As Object, objFlder As Object
Set objShell = CreateObject("Shell.Application")
Set objFlder = objShell.BrowseForFolder(0&, "Ordner auswählen...", 0&, defaultPath)
If objFlder Is Nothing Then GoTo Errexit
Set objFlderItem = objFlder.Self
fncBrowseForFolder = objFlderItem.Path
Errexit:
Set objShell = Nothing
Set objFlder = Nothing
Set objFlderItem = Nothing
End Function
Grusse
Karel
Was verstehst du unter: "Nicht komprimiert" o.w.T.
09.03.2010 19:38:32
Ramses
....
AW: Was verstehst du unter: "Nicht komprimiert" o.w.T.
09.03.2010 21:23:47
Karel
Hallo,
Habe beide jpg png Probiert aber gleich effekt.
bilder sind auf 3 bis 5 kb komprimiert bilder orginal sind großer als 3 MB
woan kann dass liegen?
Grüße
Karel
AW: Was verstehst du unter: "Nicht komprimiert" o.w.T.
09.03.2010 21:34:11
Ramses
Hallo
Das ist doch egal. Das original File wenn du exportierst ist das BMP format,... das mit Abstand ungünstigste Dateiformat.
GIF und JPG haben die gleiche Auflösung, der einzige Unterschied, GIF kann nur 64 verschiedene Farben darstellen. Wenn du keine Spezialfarben in deinen Grafiken verwendest fällt das beim GIF Export nicht auf.
Gruss Rainer
AW: Anpassung code:Bilder aus Tabelle exportieren
09.03.2010 19:53:17
ChristianM
Hallo Karel,
der Code speichert die Bilder als Gif-Dateien. Wenn du eine bessere Auflösung möchtest, dann probier's mal mit jpg oder png. Welches der beiden Formate (jpg oder png) das bessere Ergebnis liefert, hängt u.a. vom Inhalt der Bilder ab.
Gruß
Christian
Anzeige
AW: Anpassung code:Bilder aus Tabelle exportieren
09.03.2010 21:42:06
Karel
Hallo Ramses,
Danke für info bezüglich BMP jpg gif Etc.
Aber mein Problem konkret ist Orginal bilder sind zwischen 3 und 4 MB
beim ausführen Vba Code werden die Bilder exportiert und habe dann ein große von 3 bis 10 kb.
Ich brauche aber die Orginal große um die Bilder weiter bearbeiten zu können.
Frage ist, geht dass überhaupt.
Grüße
Karel
AW: Anpassung code:Bilder aus Tabelle exportieren
10.03.2010 14:32:37
ChristianM
Hallo Karel,
sind die Original-Bilder denn Bitmaps oder jpg's?
Wenn die Originale bereits jpg's sind, dann geht es dir wahrscheinlich nicht um die Farbtiefe, sondern eher um die Abmessungen.
Bei der Methode, die du im VBA Code verwendest wird ein Bild zunächst in ein Diagramm eingefügt und anschließnd das Diagramm als Bild exportiert. In Excel muss man diesen "Trick" anwenden, da es sonst keine andere Möglichkeit gibt, Bilder zu exportieren.
Bei sehr großen Bildern wirst du dabei wohl auch mit Einbußen bzgl der Größe / Qualität leben müssen.
Aber was soll's, ich versuche ja auch nicht mit ACDSee o.ä 'ne Tabellen-Kalkulation auf die Beine zu stellen.
Grüße
Christian
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige