2016-10-12 7 views
0

Я хочу проверить, существует ли файл перед запуском моего кода. Если он существует, чем в противном случае, сохраните мой код. То, что я написал это следующий код:Как проверить, существует ли файл с помощью макроса VBA в Powerpoint

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

Возможный дубликат [Проверьте, существует ли файл с помощью VBA] (http://stackoverflow.com/questions/11573914/check-if-the-file-exists-using-vba) – vacip

+3

Попробуйте Google в следующий раз , Это было задано здесь сто раз - и это только в этом году. :) [1] (http://stackoverflow.com/questions/16351249/vba-check-if-file-exists) [2] (http://stackoverflow.com/questions/26551757/how-do-i- check-if-a-file-exists-before-i-open-it-via-excel-vba) [3] (http://stackoverflow.com/questions/4082539/how-do-i-deetermine-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' ... считаю * именование * предметы. Спустя шесть месяцев с 'CommandButton42' будет легче сказать' TimestampAndSaveButton' (или что-то еще). –

ответ

4

Если вы хотите проверить файл существует на локальном компьютере, который вы хотите использовать FileSystemObject.

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 

Сообщите мне, если вам потребуются дополнительные разъяснения.

+1

Ницца. Я добавлю это в свою библиотеку VBA. – rohrl77

+1

Upvoted. 'FileSystemObject' очень полезен и для других функций. Будет полезно познакомиться с ним. :) –

+1

Взятый на следующий уровень, он может быть записан как 'IF CreateObject (« Scripting.FileSystemObject »). FileExists (« C: \ Users \ Moez \ Desktop \ Macro_Project \ Test1.pptm ») THEN' (лучше использовать в функция с одной строкой для возврата TRUE/FALSE). –

2

Это самый лучший способ, которым я видел:

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 

Кредит здесь:

Check if the file exists using VBA

+0

такой же, как мой метод :-) – rohrl77

+0

Это на самом деле в Powerpoint, а не в Excel. Я попробовал, но это не сработает! – Zigouma

+0

@Zigouma Попробуйте прямо сейчас – User632716

1

Вот мой вариант проверки, если что-то существует. Включая тестовый под. Это должно работать в любой среде VBA, включая PowerPoint.

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