Bilderordner einlesen bzw. Pfad / Hyperlink erstellen
#1
Hallo zusammen,

Habe das mal direkt hier in VBA erstellt, da das ohne überhaupt nicht gehen wird - wenn doch, gerne um Info.

Folgende Aufgabenstellung, bei welcher ich mich freuen würde, wenn mir hier jemand weiterhelfen kann.

Ich habe eine Excelliste mit ca. 15t-20t. Artikelnummern und einen dazugehörigen Ordner (auf dem FTP hochgeladen) mit ähnlichen Bildernamen.
"Ähnlich" daher, da zu 90% die Artikel wie folgt aufgebaut sind:

ZifferZifferZifferZifferZifferZiffer_1.jpg also z.B. "445647921_1"

In selten Fällen gibt es dann ein zweites Bilder mit _2.
Hier ist kann es ruhig immer beim Auswerten von dem ersten Bild (also _1) bleiben. Das zweite ist eher unwichtig.

Gute 10% aller Artikelnummern in der Liste haben aber auch gar kein hinterlegtes Bild. Hier wäre es schön, wenn "nix gefunden" als Prüfergebnis zurückgespielt werden würde.
So kann ich später die "nix gefunden" dann global mit einem Musterbild ersetzen.

So... Meine simple Herangehensweise war, einfach die Artikelnummer um den davorgestellten Ordner-Pfad und dahinter eben um ".jpg" zu ergänzen.
Das funktioniert ja logischerweise auch, so lange bis eine Artikelnummer nicht im Ordner ist...

Es wäre nett, wenn ihr entweder darauf aufbauend einen Tipp für eine Prüfmethode (nicht die manuelle bitte ) oder eben gleich von vornheraus eine VBA Lösung parat habt.
Aufbauend auf die simple Version, wäre mir fast lieber, da ich hier jederzeit etwas verändern kann oder dies anpassen könnte (sofern eben kein VBA).

Danke für eure Hilfe & Zeit.

VG derOlli
Top
#2
Nachtrag:

Das Einfachste wäre denke ich wirklich einfach die Prüfmethode welche mir in der Spalte hinter dem Bild als Ergebnis ganz salopp die folgende Info liefert:
Wenn: FTP-Adresse\Bildnummer_1.jpg im Ordner, dann "juhu" - ansonsten "nix gefunden".

Hoffe ihr wisst, wie ich das meine.

Danke
Top
#3
Hallo,

in VBA gibt es den Befehl

Code:
msgbox = dir("C:\Temp\" & Filename)

der, falls vorhanden, den filename zurückgibt, sonst "".

mfg

(für deine Frage ist es wohl mit einer UDF am besten:

[code)
function Datei_vorhanden(byVal file asstring) as boolean
Datei_vorhanden = len(dir ("c:\meinPfad\" & file) )
end function
[/code]

oder so ähnlich
Top
#4
Hallo,

Danke Dir für die Rückmeldung.

Hab ich leider nicht so ganz verstanden Huh

Was muss ich genau machen?

Den Code unten als Modul hinterlegen?

Sorry
Top
#5
Hallo,

in deiner Frage fehlen einige relevate Infos, ich rate/setze die, aber anpassen musst du es. Es ist eine Pseudocode, da ich es nicht testen kann.

In einem allgemeinen Modul:
In Spalte A stehen die Zahlen der Dateinamen, also 1234567

Code:
const Pfad as string = "c:\temp\" '<<<<<<< anpassen >>>>>
function Datei_vorhanden(byVal file asstring) as boolean
file = file & "_1.jpg"
Datei_vorhanden = len(dir (Pfad & file) )
end function

Das Ergebnis sollte "Wahr" oder "Falsch" sein.

Debuggen musst du es selbst.

mfg
Top
#6
Guten Morgen,

vielen Dank für Deine erneute Rückmeldung.

Vom Verständnis her: genau so sollte es dann sein.

Bitte mich jetzt nicht steinigen, aber wie rufe ich das Ganze ab?
Als normales Modul abgespeichert habe ich den Code (angepasst um meine Verzeichnis)

Als Funktion muss ich doch dann in Zelle B1 die Funktion als solche auch abrufen können müssen?
Was muss ich hinter dem "=" schreiben?
"Datei[...]" funktioniert nicht, findet er nichts.

Als Makro kann ich es nicht starten.

Sorrrrrrry Confused
Top
#7
Hallo,

ich schicke dir nachher eine Beispieldatei.

mfg
Top
#8
Hallo,

zuerst habe ich im Ordner "c:\temp\" die Datei "12345678_1.jpg" angelegt.

Dann geht das Beispiel aus der beigefügten Datei.

mfg


Angehängte Dateien
.xlsm   Olli.xlsm (Größe: 14,56 KB / Downloads: 3)
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • derOlli
Top
#9
Thumbs Up 
Hi,

herzlichen Dank!

Funktioniert :18:

Habe nur noch zwischen dem "asstring" oben aus dem Code ein Leerzeichen eingefügt - da mein Excel das sonst nicht mochte bzw. "rot" markierte.


Vielen Dank für Deine Geduld und Hilfe.   :100:

Edit: deswegen hat Excel das evtl. nicht gefunden / automatisch vervollständigt als ich "=dat..." in eine Zelle eingegeben hatte.
Daher die doooofe Nachfrage von mir, wie das anzuwenden / abzurufen ist.

Vielen Dank auf jedenfall nochmal. Hat mir eine Menge Zeit gespart...
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste