Доброго дня. Люди, помогите пожалуйста с макросом. Нужно сделать чтобы сразу проверяло существуют ли файлы, если не существует хотя бы одного файла, то останавливаем выполнение макроса а если существуют, то сверяем дату: If Date = a... [vba]
Код
Private Sub Workbook_Open() Dim fa As String, fb As String, fc As String, fd As String Dim a As Date, b As Date, c As Date, d As Date Application.EnableEvents = False
fa = "D:\Minsk\Office1\minsk1.xlsx" fb = "D:\Minsk\Office2\minsk2.xlsx" fc = "D:\Slutsk\Office1\Slutsk1.xlsx" fd = "D:\Pinsk\Office1\Pinsk1.xlsx"
a = Format(FileDateTime(fa), "dd.mm.yyyy") b = Format(FileDateTime(fb), "dd.mm.yyyy") c = Format(FileDateTime(fc), "dd.mm.yyyy") d = Format(FileDateTime(fd), "dd.mm.yyyy")
If Date = a And Date = b And Date = c And Date = d Then Sheets("1C").Shapes("Rectangle 2").Visible = False Else Sheets("1C").Shapes("Rectangle 2").Visible = True End If End Sub
[/vba]
Доброго дня. Люди, помогите пожалуйста с макросом. Нужно сделать чтобы сразу проверяло существуют ли файлы, если не существует хотя бы одного файла, то останавливаем выполнение макроса а если существуют, то сверяем дату: If Date = a... [vba]
Код
Private Sub Workbook_Open() Dim fa As String, fb As String, fc As String, fd As String Dim a As Date, b As Date, c As Date, d As Date Application.EnableEvents = False
fa = "D:\Minsk\Office1\minsk1.xlsx" fb = "D:\Minsk\Office2\minsk2.xlsx" fc = "D:\Slutsk\Office1\Slutsk1.xlsx" fd = "D:\Pinsk\Office1\Pinsk1.xlsx"
a = Format(FileDateTime(fa), "dd.mm.yyyy") b = Format(FileDateTime(fb), "dd.mm.yyyy") c = Format(FileDateTime(fc), "dd.mm.yyyy") d = Format(FileDateTime(fd), "dd.mm.yyyy")
If Date = a And Date = b And Date = c And Date = d Then Sheets("1C").Shapes("Rectangle 2").Visible = False Else Sheets("1C").Shapes("Rectangle 2").Visible = True End If End Sub
Private Sub Workbook_Open() Dim fa As String, fb As String, fc As String, fd As String Dim a As Date, b As Date, c As Date, d As Date
fa = "D:\Minsk\Office1\minsk1.xlsx" fb = "D:\Minsk\Office2\minsk2.xlsx" fc = "D:\Slutsk\Office1\Slutsk1.xlsx" fd = "D:\Pinsk\Office1\Pinsk1.xlsx"
On Error Resume Next a = Format(FileDateTime(fa), "dd.mm.yyyy") On Error GoTo 0
On Error Resume Next b = Format(FileDateTime(fb), "dd.mm.yyyy") On Error GoTo 0
On Error Resume Next c = Format(FileDateTime(fc), "dd.mm.yyyy") On Error GoTo 0
On Error Resume Next d = Format(FileDateTime(fd), "dd.mm.yyyy") On Error GoTo 0
If Dir(fa) <> "" And Dir(fb) <> "" And Dir(fc) <> "" And Dir(fd) <> "" Then If Date = a And Date = b And Date = c And Date = d Then Sheets("1C").Shapes("Rectangle 2").Visible = False Else Sheets("1C").Shapes("Rectangle 2").Visible = True End If Else Exit Sub End If End Sub
[/vba]
msi2102, спасибо. Вопрос закрыт.
[vba]
Код
Private Sub Workbook_Open() Dim fa As String, fb As String, fc As String, fd As String Dim a As Date, b As Date, c As Date, d As Date
fa = "D:\Minsk\Office1\minsk1.xlsx" fb = "D:\Minsk\Office2\minsk2.xlsx" fc = "D:\Slutsk\Office1\Slutsk1.xlsx" fd = "D:\Pinsk\Office1\Pinsk1.xlsx"
On Error Resume Next a = Format(FileDateTime(fa), "dd.mm.yyyy") On Error GoTo 0
On Error Resume Next b = Format(FileDateTime(fb), "dd.mm.yyyy") On Error GoTo 0
On Error Resume Next c = Format(FileDateTime(fc), "dd.mm.yyyy") On Error GoTo 0
On Error Resume Next d = Format(FileDateTime(fd), "dd.mm.yyyy") On Error GoTo 0
If Dir(fa) <> "" And Dir(fb) <> "" And Dir(fc) <> "" And Dir(fd) <> "" Then If Date = a And Date = b And Date = c And Date = d Then Sheets("1C").Shapes("Rectangle 2").Visible = False Else Sheets("1C").Shapes("Rectangle 2").Visible = True End If Else Exit Sub End If End Sub
Думаю, что закрывать рано. Строка If Date = a And Date = b And Date = c And Date = d всегда будет выдавать ЛОЖЬ, т.к. Date это число в формате даты, а переменные a, b, c, d - это текст.
Думаю, что закрывать рано. Строка If Date = a And Date = b And Date = c And Date = d всегда будет выдавать ЛОЖЬ, т.к. Date это число в формате даты, а переменные a, b, c, d - это текст.i691198