Страницы: 1
RSS
Уведомление во всплывающем окне по дате VBS
 
Здравствуйте,нашел на форуме вот такой код для того чтобы выводилось уведомление во всплывающем окне при запуске .vbs файла:

Set XLSApp=CreateObject("Excel.Application")
   FN="C:\1\k331.xlsx"
XLSapp.visible=false
XLSApp.Workbooks.Open FN,0,true
With XLSApp.Workbooks(1).Sheets(1)
 if .Range("A1").value=DATE then
   MsgBox "ест такие даты в таблице", vbExclamation, "Проверка файла"&FN
 else
   MsgBox "все в порядке", vbInformation, "проверка файла "&FN
 end if
end with
XLSApp.Quit

работает толко если значение в A1, если я ставлю в .vbs диапазон "A1:B4" к примеру - окно с ошибкой выходит - несоответствие типа - строка 6 символ 3 код 800A000D.

как сделат, чтобы проверялся диапазон ячеек, спасибо. Версия офиса 365.
 
А что Вы хотите добиться скриптом, в котором будет диапазон, а не одна ячейка?
Согласие есть продукт при полном непротивлении сторон
 
Код
    Set XLSApp = CreateObject("Excel.Application")
   FN = "C:\1\k331.xlsx"
XLSApp.Visible = False
XLSApp.Workbooks.Open FN, 0, True
With XLSApp.Workbooks(1).Sheets(1)
    Dim arr As Variant
    arr = .Range("A1:B4").Value
End With

Dim ya As Long
Dim xa As Long
For ya = 1 To UBound(arr, 1)
For xa = 1 To UBound(arr, 2)
    If arr(ya, xa) = Date Then
         If flag = Date Then
           MsgBox "ест такие даты в таблице", vbExclamation, "Проверка файла" & FN
         Else
           MsgBox "все в порядке", vbInformation, "проверка файла " & FN
         End If
        XLSApp.Quit
        Exit Sub
    End If
Next
Next
 
спасибо за ответ, выходит ошибка предполагается наличие окончания инструкции - строка 6 символ 13
 
Цитата
написал:
А что Вы хотите добиться скриптом, в котором будет диапазон, а не одна ячейка?
ест список с датами, у кого дни рождения, кому пропуск новый выписать надо. этот скрипт засуну в задачи ,чтобы по времени запускался и напоминал , что есть такие даты в такомто файле. С уважением
 
lopata12, это форум по Excel, а VBS не является инструментом этого приложения. Ищите тематические форумы.
Согласие есть продукт при полном непротивлении сторон
 
А так?
Код
  Set XLSApp = CreateObject("Excel.Application")
   FN = "C:\1\k331.xlsx"
XLSApp.Visible = False
XLSApp.Workbooks.Open FN, 0, True
arr = XLSApp.Workbooks(1).Sheets(1).Range("A1:B4").Value

For ya = 1 To UBound(arr, 1)
For xa = 1 To UBound(arr, 2)
    If arr(ya, xa) = Date Then
           MsgBox "ест такие даты в таблице", vbExclamation, "Проверка файла" & FN
         XLSApp.Quit
         goto myExit
    End If
Next
Next
MsgBox "все в порядке", vbInformation, "проверка файла " & FN
myExit:
XLSApp.Quit
Изменено: МатросНаЗебре - 18.11.2024 16:22:02
 
Цитата
написал:
А так?Код  Set XLSApp = CreateObject("Excel.Application")
  FN = "C:\1\k331.xlsx"
XLSApp.Visible = False
XLSApp.Workbooks.Open FN, 0, True
arr = XLSApp.Workbooks(1).Sheets(1).Range("A1:B4").Value

For ya = 1 To UBound(arr, 1)
For xa = 1 To UBound(arr, 2)
   If arr(ya, xa) = Date Then
          MsgBox "ест такие даты в таблице", vbExclamation, "Проверка файла" & FN
        XLSApp.Quit
        goto myExit
   End If
Next
Next
MsgBox "все в порядке", vbInformation, "проверка файла " & FN
myExit:
XLSApp.Quit


Изменено: МатросНаЗебре  - 18.11.2024 16:22:02

-----
ошибка строка 10 12 - предполагается наличие инструкции
 
Ещё попытка.
Код
 Set XLSApp = CreateObject("Excel.Application")
   FN = "C:\1\k331.xlsx"
XLSApp.Visible = False
XLSApp.Workbooks.Open FN, 0, True
arr = XLSApp.Workbooks(1).Sheets(1).Range("A1:B4").Value
XLSApp.Quit

flag = false
For ya = 1 To UBound(arr, 1)
For xa = 1 To UBound(arr, 2)
    If arr(ya, xa) = Date Then
      flag = true
      exit for
    End If
Next
   if flag then exit for
Next

if flag then
MsgBox "ест такие даты в таблице", vbExclamation, "Проверка файла" & FN
else
MsgBox "все в порядке", vbInformation, "проверка файла " & FN
end if
 
Цитата
написал:
Ещё попытка.Код Set XLSApp = CreateObject("Excel.Application")
  FN = "C:\1\k331.xlsx"
XLSApp.Visible = False
XLSApp.Workbooks.Open FN, 0, True
arr = XLSApp.Workbooks(1).Sheets(1).Range("A1:B4").Value
XLSApp.Quit

flag = false
For ya = 1 To UBound(arr, 1)
For xa = 1 To UBound(arr, 2)
   If arr(ya, xa) = Date Then
     flag = true
     exit for
   End If
Next
  if flag then exit for
Next

if flag then
MsgBox "ест такие даты в таблице", vbExclamation, "Проверка файла" & FN
else
MsgBox "все в порядке", vbInformation, "проверка файла " & FN
end if
извините не мог раньше зайти на сайт, спасибо, вы очень помогли код работает
 
lopata12,  зачем Вы  цитируете код? Какой в  этом смысл?
Страницы: 1
Наверх