Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1948to1952
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

Fotoalbum auf VBA Basis

Fotoalbum auf VBA Basis
05.10.2023 23:32:23
FFW
Hallo Ihr Lieben, ich habe mal eine generelle Frage, ob sich mein Vorhaben über VBA umsetzen lässt: es geht um folgendes:

Ich möchte in einem UserForm Lichtbilder eines Ordners anzeigen, diese dort in eine richtige Reihenfolge bringen, unnötige Bilder löschen, Bilder um 90 drehen können und neben oder unter jedem Bild einen Text schreiben können.

Die Bilder sollten im Anschluss dann in eine Word Vorlage oder Excel Vorlage übertragen werden. Genial wäre, wenn man das User vom öffnen könnte und danach weiter editieren könnte.

Jetzt habe ich mich bereits schon ein bisschen schlau gemacht, habe allerdings nur einen Teil Erfolg verbuchen können.

Hier ist ein UserForm, dass sortieren kann. Leider weiß ich nicht, wie das weiter um die og Funktionen erweitert werden kann.

Hier der Link dazu.

https://www.herber.de/bbs/user/74527.xls

Meine Frage ist, ob schon mal jemand so etwas probiert hat, gegebenfalls gibt es ja schon eine Vorlage, die ich verwenden könnte. Es ist mir ein besonderes Anliegen, was ich gerne mit eurer Hilfe verwirklichen würde. Benutzt werden soll. Das Ganze für die Freiwillige Feuerwehr, wir wollen aus unseren Lichtbildern, die wir am Brandort machen, eine ordentliche Lichtbildmappe kreieren. Es wäre toll, wenn uns hier jemand unterstützen könnte.

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fotoalbum auf VBA Basis
06.10.2023 01:41:09
ralf_b
Hallo FFW,

ist die Idee schon eine fixe Idee geworden oder ist besteht noch Hoffnung?
Was genau soll deine Userform denn besser schneller, schöner können , was man direkt in Word oder Excel mit Bildern nicht mindestens genauso schnell hinbekommt?
Userformen sind dafür gedacht Arbeitsabläufe zur Datenerfassung zu vereinfachen. Bildbearbeitung gehört aber nicht zu den besonderen Stärken von VBA. Hier muß man jeden kleinen Handgriff programmieren. Gerade für Bilder gibt es massenhaft Lösungen, die extra für deren Bearbeitung gemacht wurden. Dazu muß man nicht eine Tabellenkalkulation verbiegen.

Ich persönlich nutze gern Irfanview als schlanken, komfortablen Helfer zur Bildbearbeitung wenn ich z.b. eine Mängeldokumentation erstelle.
Das geht ratz fatz. Ist Freeware und die nötigen Handgriffe sind schnell zu erlernen.


gruß

rb
Anzeige
AW: Fotoalbum auf VBA Basis
06.10.2023 14:57:50
FFW
Ich glaube ich versuch das nochmal genauer zu definieren:

Ich habe einmal selbst ein Userform aufgebaut, wie ich mir das vorgestellt habe. Ich habe auch schon vl den ein oder anderen Ansatz verwirklicht... allerdings nur laienhaft.

In der Anlage sind in einem Userform zwei Listboxen. Listbox 1 soll den gesamtne Inhalt eines Verzeichnisses auf der Festplatte darstellen. Beim scrollen würde ich gerne, dass das Bild in einem Vorschaufenster daneben angezeigt wird. So sieht man, welches Bild gerade ausgewählt ist. Benötigt man dieses Bild soll es automatisch in Listbox2 mit einem CommandButton "übertragen" werden.

Listbox2 zeigt hierbei die Dateien an, die bereits im Lichtbildbogen verwendet wurde. Er liest also die Daten aus dem Worksheet aus. Auch hier soll es daneben ein Vorschaufenster geben, ebenso wie das Feld für die Beschreibung des Bildes.

Wenn sich das ganze jetzt noch auf dem Datenblatt aktualisiert und widerspiegelt wäre ich super zufrieden...
Ich könnte mir auch hier die Lösung von Uwe gut vorstellen, die das Bild eingefügt hat.

Freue mich auch über alle Teillösungen. Lieben Dank
https://www.herber.de/bbs/user/163274.xlsm

Anzeige
AW: Fotoalbum auf VBA Basis
07.10.2023 06:50:54
FFW
Und ein weiteres Update - Leider funktioniert das Hoch Runter links Rechts verschieben nicht fehlerfrei...
AW: Fotoalbum auf VBA Basis
07.10.2023 09:47:25
Alwin Weisangler
Hallo miteinander,
es ist kein Aufwand in der Listbox2 dieses Tools per Drag&Drop (linke Maustaste gedrückt halten und dann in Liste verschieben) das Ganze zu sortieren.


Private Sub ListBox2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 1 Then
With New DataObject
.StartDrag 2
End With
ListBox2.ListIndex = 0
End If
End Sub
Private Sub ListBox2_BeforeDragOver(ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As MSForms.DataObject, ByVal X As Single, _
ByVal Y As Single, ByVal DragState As MSForms.fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)
Cancel = True
End Sub
Private Sub ListBox2_BeforeDropOrPaste(ByVal Cancel As MSForms.ReturnBoolean, ByVal Action As MSForms.fmAction, _
ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, _
ByVal Shift As Integer)
Dim yZeile As Double, ySpalte&

If Effect = 2 Then
With ListBox2
yZeile = Y (.Font.Size * 1.1)
.AddItem .Column(0), yZeile
For ySpalte = 0 To 2
.List(yZeile, ySpalte) = .Column(ySpalte)
Next ySpalte
.RemoveItem .ListIndex
End With
End If
End Sub

Es ist ein Codeschnipsel (Variablen kann jeder selbst deklarieren). Das war es auch schon.
Das Problem ist aber ein ganz Anderes.
Gut, es ist eine Demo!
Die Datei ist leider derart instabil, dass wenn man zügig in Listbox2 die Einträge anklickt das Image2 Control abschmiert. Es sind auch noch weitere Fehler drin.
Ich denke mal in der fertigen Version passiert so was nicht.

Ich vermute jetzt mal, dass FFW da so nicht weiterkommt.
Man kann, wenn klar ist was wie wohin soll (Ausgabe in Listenform oder neues Tabellenblatt für jedes Ereignis) mit Bildbeschreibung zum verlinkten Bild (öffnen mit Standartbildbetrachter) oder wie auch immer dies zusammenstellen.
Hier sollte aber, auch wenn FFW auf Ehrenamt verweist, eine digitale Gemeinnützigkeit (Spende Wikipedia o.ä.) fällig sein.
Denke bitte mal in Ruhe darüber nach.
Anbei mal deine Datei mit ein paar Anpassungen, welche Bilderserien bis zu 160 Bildern zulässt (auswählbar über Combobox). Das Ganze wird in einem scrollbaren Frame geladen.
https://www.herber.de/bbs/user/163280.xlsm

Gruß Uwe
Anzeige
AW: Fotoalbum auf VBA Basis
06.10.2023 09:06:47
Oberschlumpf
Hi Charles,

cooles Tool!
Ich würd sagen (wenn ich den Fragenden richtig verstehe), DAS ist genau das, was gesucht wird.

Ich brauch so etwas gerad nicht, aber dank dir weiß ich zumindest, wo ich es finden könnte ;-)

Ciao
Thorsten
AW: Fotoalbum auf VBA Basis
06.10.2023 09:39:42
FFW
So - ich habe mir das Dokument angeschaut. Allerdings fehlt mir hier wieder diese Funktionen des sortierens und der Vorauswahl. Hier werden ja alle Bilder eines Verzeichnisses eingepflegt.

Bei vielen Bildern leider unverzichtbar.

Aber dennoch - tolles Tool !
AW: Fotoalbum auf VBA Basis
06.10.2023 09:56:55
Oberschlumpf
Hi (Anrede ist in jedem Beitrag schön),

ich würd vorschlagen, dann wende dich doch an die Entwickler von dem Tool.
Vielleicht bauen die dir ja auch noch eine Sortierfunktion ein.

Denn...
...wie erwähnt, dieses Tool ist ja echt mega - UND - dieses Tool gibt es schon! (es müsste "nur noch" das Sortieren eingebaut werden; wenn, dann wahrsch. gegen Aufpreis)
...und "von uns" müsste ja eigtl so ein Tool, oder ähnlich, komplett neu programmiert werden - DAS, so glaub ich, würde aber niemand tun....weil...das Meiste gibts ja schon!

Ciao
Thorsten
Anzeige
AW: Fotoalbum auf VBA Basis
06.10.2023 09:28:09
FFW
Ich schaue mir das gleich an, wenn ich daheim bin. Aber ja, ich glaube echt, das ist gebau das, was wir brauchen so vom ersten eindruck- melde micj
AW: Fotoalbum auf VBA Basis
06.10.2023 13:58:53
Alwin Weisangler
Hallo,
anbei mal ein kleiner Ansatz dazu. Die Größen (Bild und Zelle) kannst du dir noch selbst deinen Vorstellungen anpassen.


Private Sub CommandButton2_Click()
Dim objCtrl As MSForms.Control
Dim lngRow&, lz&
'Columns(1).ClearContents
lz = Tabelle2.Cells(Rows.Count, 2).End(xlUp).Row + 1
For Each objCtrl In Me.Controls
If TypeOf objCtrl Is MSForms.Image Then
With objCtrl
If .ControlTipText > "" Then
lngRow = lngRow + 1
With Tabelle2
.Activate
.Cells(lz, lngRow + 1).Select
.Pictures.Insert(objCtrl.ControlTipText).ShapeRange.Height = lngHeight
.Cells(lz, lngRow + 1).RowHeight = lngHeight
.Cells(lz, lngRow + 1).ColumnWidth = 20
.Cells(lz + 1, lngRow + 1) = Right(objCtrl.ControlTipText, Len(objCtrl.ControlTipText) - InStrRev(objCtrl.ControlTipText, ""))
End With
End If
End With
End If
Next
End Sub

https://www.herber.de/bbs/user/163270.xlsm

Gruß Uwe
Anzeige
AW: Fotoalbum auf VBA Basis
06.10.2023 14:16:55
FFW
Hallo Uwe

Ja vielen Dank für deine Bemühungen!
Du hast jetzt die Bilder anstatt der Dateinamen direkt eingefügt, ist das richtig? Das ist schonmal ein sehr guter Ansatz .

Kannst du mir sagen, für was der button4 ist ?
AW: Fotoalbum auf VBA Basis
06.10.2023 15:02:54
Alwin Weisangler
Sorry, den Button hatte ich mal kurz zu Testzwecken angelegt.

Ich hatte eigentlich eine weitere Klasse anlegt, um die Bilder im Speicher halten und dann Diese als OLEObjects in die Zellen packen.
Ich habe es aus Temogründen wieder entfernt.

Gruß Uwe
AW: Fotoalbum auf VBA Basis
06.10.2023 07:25:02
FFW
Vielen Dabk für deinen Beitrag.

Es geht eigentlich darum, dass nicht jeder der Kammeraden fit mit Computern ist. Es soll einfach einen Standard setzen, schnell und unkompliziert die Bilder in eine Reihenfolge zu bringen und automatisch dann auf dem Bogen einzufügen … wir haben das bisher ohne ein UserForm gemacht. Schrecklich!

Mal waren die Bilder abgeschnitten, mal schief, das eine war 100px breit, das andere 129 … daher soll ein Standard her, insbesondere auch dann, wenn hinterher noch was eingefügt werden muss, weil noch andere Bilder aufgetaucht sind.

Das beigefügte File macht ja schon sehr viel von dem, wie wir uns das vorstellen .. nur noch eben nicht abschließend - daher VBA wäre toll. Fremdsoftware können wir leider nicht installieren auf dem Rechner.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige