Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Проверка существования файлов - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Проверка существования файлов
AndreiSMT Дата: Пятница, 06.06.2025, 10:28 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

2019
Доброго дня. Люди, помогите пожалуйста с макросом.
Нужно сделать чтобы сразу проверяло существуют ли файлы,
если не существует хотя бы одного файла, то останавливаем выполнение макроса
а если существуют, то сверяем дату: 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
[/vba]

Автор - AndreiSMT
Дата добавления - 06.06.2025 в 10:28
msi2102 Дата: Пятница, 06.06.2025, 13:59 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 423
Репутация: 130 ±
Замечаний: 0% ±

Excel 2007
ТУТ была тема по проверке наличия файлов
 
Ответить
СообщениеТУТ была тема по проверке наличия файлов

Автор - msi2102
Дата добавления - 06.06.2025 в 13:59
AndreiSMT Дата: Пятница, 06.06.2025, 14:56 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

2019
msi2102, спасибо. Вопрос закрыт.
 
Ответить
Сообщениеmsi2102, спасибо. Вопрос закрыт.

Автор - AndreiSMT
Дата добавления - 06.06.2025 в 14:56
i691198 Дата: Пятница, 06.06.2025, 21:51 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 421
Репутация: 130 ±
Замечаний: 0% ±

2016
Думаю, что закрывать рано. Строка 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
Дата добавления - 06.06.2025 в 21:51
msi2102 Дата: Вторник, 10.06.2025, 10:36 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 423
Репутация: 130 ±
Замечаний: 0% ±

Excel 2007
Строка If Date = a And Date = b And Date = c And Date = d всегда будет выдавать ЛОЖЬ
Я думаю Вы не правы. Создайте файл, пропишите его адрес, и запустите этот макрос:
[vba]
Код
Sub Date_1()
    Dim fa As String
    Dim a As Date
    
    fa = "C:\Ваш_файл_созданный_сегодня.xlsx"
    a = Format(FileDateTime(fa), "dd.mm.yyyy")
    MsgBox Date = a
End Sub
[/vba]
 
Ответить
Сообщение
Строка If Date = a And Date = b And Date = c And Date = d всегда будет выдавать ЛОЖЬ
Я думаю Вы не правы. Создайте файл, пропишите его адрес, и запустите этот макрос:
[vba]
Код
Sub Date_1()
    Dim fa As String
    Dim a As Date
    
    fa = "C:\Ваш_файл_созданный_сегодня.xlsx"
    a = Format(FileDateTime(fa), "dd.mm.yyyy")
    MsgBox Date = a
End Sub
[/vba]

Автор - msi2102
Дата добавления - 10.06.2025 в 10:36
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!