Browse Source

Скрипт отображения меню столовой на неделю/текущий день

master
Maxim Lihachev 12 years ago
parent
commit
0952ba8b7f
  1. 79
      dinner.vbs

79
dinner.vbs

@ -0,0 +1,79 @@ @@ -0,0 +1,79 @@
' Создан: Пт 13 сен 2013 16:04:16
' Изменён: Сб 14 сен 2013 12:13:05
' Скрипт отображения меню столовой.
' (c) 2013, Maxim Lihachev, <envrm@yandex.ru>
'
' Использование: cscript //nologo dinner.vbs [today]
'
' Меню содержится в doc-файле в таблице формата
'
' Понедельник Четверг
' ----------- ---------
' Первое Первое
' Второе Второе
' Третье1 Третье1
' Третье2 Третье2
'
' Вторник Пятница
' ----------- ---------
' -/- -/-
'
' Среда
' -----------
' -/-
' День недели
today = weekday(date)
' today = 1
' Открытие файла с меню
file = "\\file-srv\homedir$\" & CreateObject("Wscript.Network").UserName & "\doc\menu.doc"
Set word = CreateObject("Word.Application")
Set objectdocument = word.Documents.Open (file)
word.Visible = False
' Получение меню из таблицы
menu = objectdocument.Tables(1)
monday = Split(menu.Rows(1).Cells(1).Range.Text,chr(13))
tuesday = Split(menu.Rows(2).Cells(1).Range.Text,chr(13))
wednesday = Split(menu.Rows(3).Cells(1).Range.Text,chr(13))
thursday = Split(menu.Rows(1).Cells(3).Range.Text,chr(13))
friday = Split(menu.Rows(2).Cells(3).Range.Text,chr(13))
' Форматированный вывод
Set objCmdLib = CreateObject("Microsoft.CmdLib")
Set objCmdLib.ScriptingHost = WScript.Application
' Ширина полей
arrMaxLength = Array(25, 25, 25, 25, 25)
' Меню на неделю
If WScript.Arguments.Count < 1 or today > 5 Then
arrBlnHide = Array(False, False, False, False, False)
ElseIf WScript.Arguments.Item(0) = "today" Then
' Меню на текущий день
arrBlnHide = Array(True, True, True, True, True)
arrBlnHide(today - 1) = False
End If
' Заголовок таблицы с днями недели и датами
arrHeader = Array(monday(0), tuesday(0), wednesday(0), thursday(0), friday(0))
' Таблица меню
Dim arrResultsArray(3)
For n=1 To 4
arrResultsArray(n-1) = Array(monday(n), tuesday(n), wednesday(n), thursday(n), friday(n))
Next
' Вывод таблицы данных
WScript.Echo vbcr
objCmdLib.ShowResults arrHeader, arrResultsArray, arrMaxLength, "Table", True, arrBlnHide
WScript.Echo vbcr
' Закрытие файла
objectdocument.Saved = True
word.Quit
Loading…
Cancel
Save