2016-10-12 1 views
0

Ich möchte überprüfen, ob eine Datei bereits existiert, bevor ich meinen Code ausführe. Wenn es existiert als Exit, ansonsten meinen Code laufen lassen. Was ich geschrieben habe, ist folgende Code:Wie überprüfe ich, ob eine Datei mit VBA-Makro in Powerpoint existiert

Private Sub CommandButton21_Click() 

If FileFolderExists("C:\Users\Moez\Desktop\Macro_Project\Test1.pptm") Then 
    MsgBox "Modification already done!" 
Else 
    deleteTextBox 
    AllBlackAndDate 
    LastModifiedDate 
    SaveAllPresentations "C:\Users\Moez\Desktop\Macro_Project\Test1.pptm" ' save here 
End If 

End Sub   
+0

Mögliche Duplikat [Überprüfen Sie, ob die Datei mit VBA existiert] (http://stackoverflow.com/questions/11573914/check-if-the-file-exists-using-vba) – vacip

+3

Versuchen Sie Google das nächste Mal . Dies wurde hier hundert Mal gefragt - und das ist nur dieses Jahr. :) [1] (http://stackoverflow.com/questions/16351249/vba-check-if-file-exists) [2] (http://stackoverflow.com/questions/26551757/how-do-i-) check-wenn-eine-Datei-existiert-vor-i-öffnen-es-via-Excel-VBA) [3] (http://stackoverflow.com/questions/4082539/how-do-i-determine-if- file-exists-using-vba-excel-2007) [4] (http://stackoverflow.com/questions/35712855/test-if-file-exists-using-vba-or-excel-without-dir) – vacip

+1

' CommandButton21' ... erwäge * Dinge * zu nennen. 'TimestampAndSaveButton' (oder was auch immer) wird in sechs Monaten viel einfacher von' CommandButton42' zu unterscheiden sein. –

Antwort

4

Wenn Sie eine Datei existiert auf dem lokalen Computer überprüfen möchten Sie eine FileSystemObject verwenden möchten.

Dim fso : Set fso = CreateObject("Scripting.FileSystemObject") 

if fso.FileExists("Your file name and path here") Then 
    ' do what you like in the case where the file exists 
Else 
    ' do whatever you wanted to do where the file doesn't exist 
End If 

Lassen Sie mich wissen, wenn Sie weitere Erläuterungen benötigen.

+1

Schön. Ich füge das zu meiner VBA-Bibliothek hinzu. – rohrl77

+1

Upvoted. Das 'FileSystemObject' ist auch für andere Funktionen sehr nützlich. Es wird hilfreich sein, sich damit vertraut zu machen. :) –

+1

Auf die nächste Ebene gebracht kann es geschrieben werden als 'IF CreateObject (" Scripting.FileSystemObject "). FileExists (" C: \ Benutzer \ Moez \ Desktop \ Macro_Project \ Test1.pptm ") THEN' (besser in eine einzeilige Funktion zur Rückgabe von TRUE/FALSE). –

2

Dies ist der beste Weg, die ich gesehen habe:

Sub test() 

thesentence = InputBox("Type the filename with full extension", "Raw Data File") 

If Dir(thesentence) <> "" Then 
    MsgBox "File exists." 
Else 
    MsgBox "File doesn't exist." 
End If 

End Sub 

Kredit hier:

Check if the file exists using VBA

+0

wie meine Methode :-) – rohrl77

+0

Das ist eigentlich in Powerpoint und nicht in Excel. Ich habe es versucht, aber es funktioniert nicht! – Zigouma

+0

@Zigouma Probieren Sie es jetzt – User632716

1

Hier ist meine Version zu überprüfen, ob etwas existiert. Einschließlich eines Test-Sub. Dies sollte in jeder VBA-Umgebung, einschließlich PowerPoint, funktionieren.

Sub test() 
MsgBox (FileFolderExists("C:\Users\Moez\Desktop\Macro_Project\Test1.pptm")) 
End Sub 

Private Function FileFolderExists(str As String) As Boolean 
Dim sCheck As String 
sCheck = Dir(str) 

If Len(sCheck) > 0 Then 
    FileFolderExists = True 
Else 
    FileFolderExists = False 
End If 
End Function 
Verwandte Themen