Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wenn Name von Datei bereits vorhanden,dann..

Wenn Name von Datei bereits vorhanden,dann..
04.03.2019 11:14:52
Datei
Hallo zusammen,
ich habe ein Makro welches mich Bilder auswählen lässt und anschließend in einen Ordner schiebt, das funktioniert problemlos. Jetzt kann es aber sein, dass es diese Bezeichnung in dem Ordner bereits vorhanden ist. Wenn dem so ist kommt ein Fehler.
Besteht die Möglichkeit erst zu prüfen ob es diese Bezeichnung bereits gibt und wenn ja das ausgewählte Bild umbenennen damit es sich im dafür vorgesehenen Ordner ablegen lässt!?
Sub Artikelbild_auswählen_und_verschieben()
Dim strPfad As String
Dim NewPfad As String
Dim Datei As String
NewPfad = "C:\Testprogramm\Datenbanken\Artikelbilder\"
Dim fso As Object
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Bitte Bild auswählen"
.Filters.Clear
.Filters.Add "Bild Datei", "*.jpg" 'zeigt nur JPG Datein an
.Filters.Add "Bild Datei", "*.bmp" ' zeigt nur bmp Datein an
If .Show = -1 Then
strPfad = .SelectedItems(1)
Datei = Dir(strPfad)
End If
End With
If Datei = "" Then 'hör auf
Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile strPfad, NewPfad
UserForm6.Dateipfad_Bild.Caption = NewPfad & Datei 'Dateipfad_Bild.Text = strPfad ' fügt  _
den Dateipfad in die Textbox ein
UserForm6.Image1.Picture = LoadPicture(NewPfad & Datei) 'lädt das Bild als Vorschau
End Sub

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn Name von Datei bereits vorhanden,dann..
04.03.2019 14:36:39
Datei
Hi,
die Klasse FileSystemObject enthält die Methode "FileExists(FilePath)" mit der Du das bewerkstelligen könntest.
LG
AW: Wenn Name von Datei bereits vorhanden,dann..
04.03.2019 15:11:43
Datei
Danke Rob,
habe Google zu deinem Hinweis FileExists(FilePath) befragt und folgendes zusammengebaut was nicht so recht funktioniert.
If FileExists(strPfad, NewPfad) then
MsgBox"bereits vorhanden"
end if
Anzeige
AW: Wenn Name von Datei bereits vorhanden,dann..
04.03.2019 16:47:10
Datei
Du musst die Instanz für die Klasse von FileSystemObject angeben, also z.B.:
If fso.FileExists(strPfad, NewPfad) then

AW: Wenn Name von Datei bereits vorhanden,dann..
04.03.2019 16:54:46
Datei
Außerdem darfst Du nur einen Pfad angeben, also entweder strPfad oder NewPfad.
AW: Wenn Name von Datei bereits vorhanden,dann..
04.03.2019 17:03:34
Datei
Alles klar, habe ich probiert, jdoch funktionieren beide Varianten nicht:
If fso.FileExists(NewPfad, Datei) Then
MsgBox "bereits vorhanden"
If fso.FileExists(NewPfad & If fso.FileExists(NewPfad & Datei) Then
MsgBox "bereits vorhanden"
Die Dopplung kann nur im neuen Pfad vorkommen, der aus Pfad+Dateiname des neuen Bildes besteht.
Anzeige
AW: Wenn Name von Datei bereits vorhanden,dann..
04.03.2019 19:15:25
Datei

If fso.FileExists(NewPfad & Datei) Then
Wenn das immer noch nicht funktioniert, dann poste mal wo Du den Code in Dein Makro eingefügt hast.
AW: Wenn Name von Datei bereits vorhanden,dann..
05.03.2019 07:58:06
Datei
Guten Morgen Rob,
er markiert mir die Zeile "If fso.FileExists(NewPfad & Datei) Then" Objektvariable oder With-Blockvariable nicht festgelegt.
hier mein Code:
Sub Artikelbild_auswählen_und_verschieben()
Dim strPfad As String
Dim NewPfad As String
Dim Datei As String
NewPfad = "C:\Testprogramm\Datenbanken\Artikelbilder\"
Dim fso As Object
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Bitte Bild auswählen"
.Filters.Clear
.Filters.Add "Bild Datei", "*.jpg" 'zeigt nur JPG Datein an
.Filters.Add "Bild Datei", "*.bmp" ' zeigt nur bmp Datein an
If .Show = -1 Then
strPfad = .SelectedItems(1)
Datei = Dir(strPfad)
End If
End With
If Datei = "" Then 'hör auf
If fso.FileExists(NewPfad & Datei) Then
MsgBox "ja"
Else
Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile strPfad, NewPfad
UserForm6.Dateipfad_Bild.Caption = NewPfad & Datei 'Dateipfad_Bild.Text = strPfad ' fügt  _
den Dateipfad in die Textbox ein
UserForm6.Image1.Picture = LoadPicture(NewPfad & Datei) 'lädt das Bild als Vorschau
End If
End Sub

Anzeige
AW: Wenn Name von Datei bereits vorhanden,dann..
05.03.2019 08:33:13
Datei

Sub Artikelbild_auswählen_und_verschieben()
Dim strPfad As String
Dim NewPfad As String
Dim Datei As String
NewPfad = "C:\Testprogramm\Datenbanken\Artikelbilder\"
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Bitte Bild auswählen"
.Filters.Clear
.Filters.Add "Bild Datei", "*.jpg" 'zeigt nur JPG Datein an
.Filters.Add "Bild Datei", "*.bmp" ' zeigt nur bmp Datein an
If .Show = -1 Then
strPfad = .SelectedItems(1)
Datei = Dir(strPfad)
End If
End With
'If Datei = "" Then 'hör auf
If fso.FileExists(NewPfad & Datei) Then
MsgBox "ja"
Else
fso.MoveFile strPfad, NewPfad
UserForm6.Dateipfad_Bild.Caption = NewPfad & Datei 'Dateipfad_Bild.Text = strPfad ' fügt  _
den Dateipfad in die Textbox ein
UserForm6.Image1.Picture = LoadPicture(NewPfad & Datei) 'lädt das Bild als Vorschau
End If
End Sub

Anzeige
AW: Wenn Name von Datei bereits vorhanden,dann..
05.03.2019 08:36:38
Datei
Zur Erklärung: Du musst die Klasse FileSystemObject vorher initiieren, bevor Du damit arbeiten kannst:
Set fso = CreateObject("Scripting.FileSystemObject")
Außerdem noch die folgende Zeile auskommentieren. Das ist eine zusätzliche if-Schleife, die Du hier nicht mehr benötigst.
 If Datei = "" Then 'hör auf
Oder am besten den korrigierten Code nochmal komplett kopieren/einfügen.
Anzeige
AW: Wenn Name von Datei bereits vorhanden,dann..
05.03.2019 08:43:03
Datei
Jetzt funktioniert es, danke dir!!
AW: Wenn Name von Datei bereits vorhanden,dann..
05.03.2019 09:24:17
Datei
Gerne!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige