Anzeige
Archiv - Navigation
1900to1904
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

Makro erweitern ?

Makro erweitern ?
12.10.2022 08:27:19
Bernd_hat
Hallo Zusammen,
habe das unten stehende Makro aus dem Netz. In diesem Makro wird geprüft ob eine Datei dessen Pfad in Tabelle1 im Bereich A1:A80 steht vorhanden ist.
Ist sie nicht vorhanden wird der Pfad rot markiert.
Das funktioniert auch sehr gut.
Nun meine Frage:
Kann mit jemand den Code so ändern das auch geprüft wird ob die Datei geöffnet ist oder geschlossen ist ? Wäre super wenn dann in den Zellen B1:B80 jeweils hinter dem Pfad der Datei steht ob die Datei geöffnet ist oder geschlossen ist.
Würde mich super über Hilfe freuen.
Liebe Grüße Bernd_

Option Explicit
Sub DateiVorhanden()
Dim r1 As Range, z As Range
Dim msg As String
Set r1 = Worksheets("Tabelle1").Range("A1:A80") ' anpassen
For Each z In r1
With z
If .Value  "" Then ' Leerzellen überspringen
If Dir(.Value) = "" Then
msg = msg & Mid(.Value, InStrRev(.Value, "\") + 1) & vbLf
.Interior.ColorIndex = 3
End If
End If
End With
Next z
If Len(msg) > 0 Then MsgBox msg, vbCritical, "Nicht gefunden:"
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro erweitern ?
12.10.2022 09:07:09
Rudi
Hallo,
teste mal:

Sub DateiVorhanden()
Dim r1 As Range, z As Range
Dim msg As String
Set r1 = Worksheets("Tabelle1").Range("A1:A80") ' anpassen
For Each z In r1
With z
If .Value  "" Then ' Leerzellen überspringen
If Dir(.Value) = "" Then
msg = msg & Mid(.Value, InStrRev(.Value, "\") + 1) & vbLf
.Interior.ColorIndex = 3
Else
If IsFileOpen(.Value) Then .Offset(, 1) = "offen"
End If
End If
End With
Next z
If Len(msg) > 0 Then MsgBox msg, vbCritical, "Nicht gefunden:"
End Sub
Function IsFileOpen(strFullPathFileName As String) As Boolean
'// VBA version to check if File is Open
'// We can use this for ANY FILE not just Excel!
'// Ivan F Moala
'// http://www.xcelfiles.com
Dim hdlFile As Long
'// Error is generated if you try
'// opening a File for ReadWrite lock >> MUST BE OPEN!
On Error GoTo FileIsOpen:
hdlFile = FreeFile
Open strFullPathFileName For Random Access Read Write Lock Read Write As hdlFile
IsFileOpen = False
Close hdlFile
Exit Function
FileIsOpen:
'// Someone has it open!
IsFileOpen = True
Close hdlFile
End Function
Gruß
Rudi
Anzeige
AW: Makro erweitern ?
12.10.2022 09:12:41
Bernd_hat
Hallo Rudi,
super schnelle Hilfe. Herzlichen Dank. Funktioniert wie gewünscht.
Gruß Bernd_

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige