Microsoft Excel

Herbers Excel/VBA-Archiv

Kommentar Bildverkleinerung

Betrifft: Kommentar Bildverkleinerung von: Lemmi
Geschrieben am: 20.02.2013 22:20:11

Hallo zusammen,

ich habe nach einnieger Zeit ein ineressantes zu kaufendes Tool entdeckt, welches mir die Kommentarbilder verkleinern kann bzw. Bilder als Kommentar einbetten kann.

http://image-xls.com/index.html

Ich benötige "nur" eine Möglichkeit vorhandene Bilder (Kommentarbilder zu verkleinern?

Diese Verkleinerung der Bilder soll in Excel statt finden.
Es sollen alle Zellen mit Bild in Spalte F6 :F1000 eine gleichartige Größe bekommen.
dpi150.

Gruß
Lemmi

  

Betrifft: AW: Kommentar Bildverkleinerung von: Klaus M.vdT.
Geschrieben am: 21.02.2013 08:23:38

Hi Lemmi,

du hast doch schon eine Lösung. 451€ brutto, um ein Bild kleiner in einen Kommentar zu bekommen, ist doch ein Schnäppchen!
(vielleicht sollte man diesen Beitrag mal pinnen, damit gesehen wird was die Gratis-Hilfe hier eigentlich Wert ist!)

Ich nehme an, du nutzt immer noch "meinen" Code, um die Bilder in die Kommentare zu bekommen (bin grad zu faul den Beitrag zu verlinken). Ich nehme weiterhin an, es ist ein Problem wenn Excel hunderte von Riesenbildern in 1-1 Größe in die Kommentare knallt.

0€-Lösungsangebot:
Nimm IrfanView zur Hand! Exemplarisch sei ein Ordner "C:\Bilder\Haus\" angenommen, in dem seien die Dateien "Bild1.jpg" und "Bild2.jpg".

Mit IrfanView lässt du einen batch laufen, der in "C:\Bilder\Haus\Thumbs\" eben diese Bilder unter dem gleichen Dateinamen in stark reduzierter Größe speichert.

Nun lässt du dein AddIn laufen, dass sich die kompletten Pfadangaben der Bilder in "C:\Bilder\Haus\" (nicht Thumbs!) in deine Tabelle holt (D6:D1000 wenn ich mich recht erinnere).

Das vorhandene Makro rüsten wir auf, so dass es den Inhalt der Zellen zerlegt.
Vorgehen ist dieses: in D6 steht in unserem Beispiel:
"C:\Bilder\Haus\Bild1.jpg"
Daraus machen wir per String-Zerlegung die Strings
"C:\Bilder\Haus\" und "Bild1.jpg"
jetzt stopfen wir das "Thumbs\" dazwischen und bekommen den Pfad
"C:\Bilder\Haus\Thumbs\Bild1.jpg"
Das vorhandene Makro wird jetzt dem D6-Kommentar das kleine Bild zuweisen und danach die Pfadangabe aus D6 entfernen.
Ergebnis:
D6: Bild1.jpg
Hyperlink D6: "C:\Bilder\Haus\Bild1.jpg"
Kommentar D6: kleines Bild aus "C:\Bilder\Haus\Thumbs\Bild1.jpg"

So würd ichs zumindest machen.
Vielleicht schaut hier ja auch ein VBA-ler rein, der weiss wie man Bilder "on the Fly" übers VBA verkleinert, darum lasse ich noch offen.

Grüße,
Klaus M.vdT.


  

Betrifft: aufgebohrtes Makro: von: Klaus M.vdT.
Geschrieben am: 21.02.2013 08:42:36

Hi Lemmi,

das sollte es machen. Anleitung
1) in allen Pfaden "Thumbs"-Unterordner erstellen
2) IrfanView Batch laufen lassen wie oben beschrieben
3) aufgebohrtes Makro von unten laufen lassen.

zu 2): IrfanView wird versuchen, die Thumb-Dateien umzubenennen. Dass kann man dem Batch aber abgewöhnen (ich hab IrfanView grad nicht zur Hand um nachzuschauen). Die Thumb-Bilder müssen genauso heissen wie die Originale, sonst läuft es nicht.

Option Explicit

Sub MakePreviewPicComments()
       Dim sPrev As String
       Dim rMake As Range
       Dim lRow As Long
       Dim iColLeer As Integer
       Dim sPathPicThumb As String
       Dim sIrfanViewPath As String
       
       iColLeer = 26
         'zwei leere Spalten. ich hab mal Spalte Z (und Z-1) genommen. Spalte Y und Z müssen  _
leer sein!
       sIrfanViewPath = "Thumbs\"
         'Der Thumb-Pfad, der in IrfanView genutzt wird ... und ein Backslash!
       
       lRow = Cells(Rows.Count, 4).End(xlUp).Row
       
       For Each rMake In Range("D6:D" & lRow)
           'alten Kommentar löschen, falls vorhanden (sonst Fehler!)
           rMake.ClearComments
            
           'Hilfsformeln in Spalten schreiben (Optimierung: direkt in VBA berechnen)
           Cells(rMake.Row, iColLeer).FormulaR1C1 = "=MID(RC4,FIND(""#"",SUBSTITUTE(RC4,""\"","" _
#  "",LEN(RC4)-LEN(SUBSTITUTE(RC4,""\"",""""))))+1,9^9)"
           Cells(rMake.Row, iColLeer - 1).FormulaR1C1 = "=SUBSTITUTE(RC4,RC" & iColLeer & ","""" _
)"
           
           'Pfadangabe für "Thumb" Bild basteln
           sPathPicThumb = Cells(rMake.Row, iColLeer - 1)               'Pfad
           sPathPicThumb = sPathPicThumb & sIrfanViewPath               'Ifran-View Unterordner
           sPathPicThumb = sPathPicThumb & Cells(rMake.Row, iColLeer)   'Dateiname
           
           'in D, "ganze" Pfandangabe durch "nur Bildname" ersetzen
           rMake.Value = Cells(rMake.Row, iColLeer).Value
           
           'Hilfsformeln löschen
           Cells(rMake.Row, iColLeer).ClearContents
           Cells(rMake.Row, iColLeer - 1).ClearContents
           
           With rMake.AddComment
                'blöden Standard-Kommentartext entfernen
               .Text ""
               'Bild-in-Comment einfügen
               .Shape.Fill.UserPicture sPathPicThumb
           End With
           
       Next rMake
 End Sub
Die 451€ gesparten Euro kannst du jetzt einer gemeinnützigen Organisation deiner Wahl spenden.

Grüße,
Klaus M.vdT.


  

Betrifft: AW: aufgebohrtes Makro: von: Lemmi
Geschrieben am: 21.02.2013 11:25:21

Hallo Klaus,

es ist so das ich Infranview schon für ein gutes Programm halte.
Ich habe es mir gerde auch noch einmal angesehen und alle möglichkeiten der Bildverkleinerung durchgespielt.Lieder scheiter ich eine einem Punkt.

Es wird die Verzeichnisstuktur aufgelöst.

Meine Datrenstruktur hat, wie bekannt viele Bilder. Diese sind aber in verschiedenen Unterordner abgeleget.
Diese Datenstruktur wir konteurnierlich angepasst und erweitert. Aus diesem Grund kann die Verzeichnisstuktur nicht verändert werden.

InfranView legt alle in einem Unterornder an und verliert damit meine Arbeitsstrukturliste.
Ich werden aber noch mal googlen, ob es vieleicht doch noch eine Option gibt die diese Problem löst.

Ich werde mich noch einmal melden!

Gruß
Lemmi






  

Betrifft: IrfanView von: Klaus M.vdT.
Geschrieben am: 21.02.2013 11:32:46

Hi Lemmi,

das ich mit vielen Bildern gearbeitet habe ist etwas her, damals hat mir IrfanView gute Dienste geleistet. Dir mit dem Verzeichnissproblem helfen kann ich aber nicht (mehr?), ist zu lange her. Vielleicht gibt es ja ein IrfanView Forum in dem du das erfragen kannst?

Ich bleib aber bei der Idee: Die Dateien als THUMB ins Unterverzeichniss, statt sie im VBA zu verändern. Ob du das Datei-verkleinern-Verschieben nun mir IrfanView oder Paint machst ist dem Makro relativ egal :-)

Grüße und danke für die Rückmeldung,
Klaus M.vdT.


  

Betrifft: AW: IrfanView von: Lemmi
Geschrieben am: 21.02.2013 21:05:41

Hallo Klaus,
ich habe ein Programm gefunden die meine Ordnerstuktur nicht verändert.
XnView
Ich würde auf den ersten Blick es so einschätzen wie Infranview.

...ich werden jetzt mal rumprobieren.

Gruß
Lemmi


  

Betrifft: Viel Erfolg! Bitte RÜ obs klappt ... von: Klaus M.vdT.
Geschrieben am: 22.02.2013 08:05:10

... oder ob ich nochmal am Makro optimieren soll!

Grüße,
Klaus M.vdT.


 

Beiträge aus den Excel-Beispielen zum Thema "Kommentar Bildverkleinerung"