Страницы: 1
RSS
Проверка наличия символов в имени книги
 
Здравствуйте. Мой вопрос очень примитивный, но я в тупике. Есть потребность привязать выполнение процедуры к имени книги. Имя может меняться. Неизменной всегда остаётся только одно слово "Отчёт". Варианты имён: "Отчёт", "аываОтчёт", "ававОтчёт_ыавыа", ...
Мой код почему-то не работает. Основной код я заменил на msgbox.

Код
dim wbn as string
wbn = ActiveWorkbook.Name
Select Case wbn
Case wbn = "*Отчёт*"
MsgBox "Это отчёт"
Case wbn <> "*Отчёт*"
MsgBox "Это НЕ отчёт"
End Select

Заранее спасибо.
Изменено: vikttur - 13.06.2021 17:24:18
 
Оператор сравнения "=" означает в VBA (и других языках) равенство строк . Для подстановочных символов используйте like.
Код
Sub TestBookName()
  Dim wbn As String
  wbn = ActiveWorkbook.Name
  If wbn Like "*Отчёт*" Then
    MsgBox "Это Отчёт"
  Else
    MsgBox "Это НЕ Отчёт"
  End If
End Sub

И с буквой "ё" аккуратнее, она не часто используется в именах файлов.
Изменено: sokol92 - 13.06.2021 17:23:39
Владимир
 
Спасибо.
 
Код
Function WbNameExists(Optional wb As Workbook = Nothing, _
Optional What$ = "*ОТЧ?Т*") As Boolean
  If wb Is Nothing Then Set wb = ActiveWorkbook
  WbNameExists = UCase(wb.Name) Like What
End Function
Изменено: Ігор Гончаренко - 15.06.2021 21:25:27
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх