diff --git a/dinner.vbs b/dinner.vbs new file mode 100755 index 0000000..a0a19e4 --- /dev/null +++ b/dinner.vbs @@ -0,0 +1,79 @@ +' Создан: Пт 13 сен 2013 16:04:16 +' Изменён: Сб 14 сен 2013 12:13:05 + +' Скрипт отображения меню столовой. +' (c) 2013, Maxim Lihachev, +' +' Использование: 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 +