'Бюллетень новых поступленийъ 'Чибрина ноябрь 2005 'Зеленина, июль 2010. Изменения для 463$210g полей define function main() { doc.newfile() var s = doc.oleobject() s = s.propertyget(activesheet) var basecell = 1 ' номер 1 строки вывода информации. в конкретном столбце!!! ' Зеленина 'задание ширины столбцов cols - указатель на все столбцы var cols = s.exec(function, columns) ' col - переменнная для конкретных столбцов ' 1 столбец - нумерация var col = cols.exec(propertyget, item, 1) col.exec(propertyset, columnwidth,8) ' 2 столбец - полочные индексы col = cols.exec(propertyget, item, 2) col.exec(propertyset, columnwidth, 10) ' 3 столбец - описание col = cols.exec(propertyget, item, 3) col.exec(propertyset, columnwidth, 50) var range = s.exec(propertyget, range,"a"+ToStr(baseCell)+":A"+ToStr(baseCell)) range.exec(Procedure, merge) range = s.exec(propertyget, range,"A"+ToStr(baseCell)) range.exec(propertyset, HorizontalAlignment, -4108) range.exec(propertyset, VerticalAlignment, -4108) var rows = range.exec(propertyget, rows) var str="" 'строка вывода var l=0 var last="" var k=0 ' заголовок перед шапкой doc.out("Научная библиотека ФГОУ ВПО ЧелГУ","C"+tostr(basecell)) basecell=basecell+2 doc.out("Автоматизированная библиотечная система ЧелГУ","C"+tostr(basecell)) basecell=basecell+2 doc.out("Научная библиотека предлагает Вам ознакомиться с новыми поступлениями.","B"+tostr(basecell)) basecell=basecell+2 doc.out("Бюллетень № ","C"+tostr(basecell)) ' шапка range = s.exec(propertyget, range,"c"+ToStr(baseCell) ) range.exec(propertyset, HorizontalAlignment, -4108) range.exec(propertyset, VerticalAlignment, -4108) basecell=basecell+2 doc.out("№ п\п","A"+tostr(basecell)) doc.out("ШИФР","B"+tostr(basecell)) doc.out("СВЕДЕНИЯ О КНИГЕ","C"+tostr(basecell)) ' Цикл по свсем записям списка for(var i = 0; i < sizeof(source); i = i + 1) { 'формирование 1 столбца - нумерация range = s.exec(propertyget, range,"A"+ToStr(i+basecell+2)) ' range.exec(propertyset, HorizontalAlignment, -4108) ' range.exec(propertyset, HorizontalAlignment, -4108) range.exec(propertyset, VerticalAlignment, -4108) str=tostr(i+1) doc.out(str, "A" + tostr(i+basecell+2)) str="" 'формирование второго столбца 'ПОЛОЧНЫЙ ИНДЕКС var range = s.exec(propertyget, range,"B"+ToStr(i+basecell+2)) ' range.exec(propertyset, HorizontalAlignment, -4108) ' range.exec(propertyset, HorizontalAlignment, -4108) range.exec(propertyset, VerticalAlignment, -4108) if (source[i].exist(999, 0, $h)) 'полочный индекс str=str + source[i].value(999, 0, $h) if (source[i].exist(999, 0, $i)) 'авторский знак str=str + "\n"+ source[i].value(999, 0, $i) doc.out(str, "B" + tostr(i+basecell+2)) str=" " 'красная строка 'формирование третьего столбца 'ЗАГОЛОВОК 'имя индивидуального автора if (source[i].exist(700)) 'первичная интеллектуальная ответственность { if (source[i].exist(700, 0, $a)) 'начальный элемент ввода str=str + source[i].value(700, 0, $a) if (source[i].exist(700, 0, $g)) 'расширение инициалов личного имени str=str + ", " + source[i].value(700, 0, $g) if (source[i].exist(700, 0, $g)==0) { if (source[i].exist(700, 0, $b)) 'часть имени, кроме начального элемента ввода str=str + ", " + source[i].value(700, 0, $b) } if (source[i].exist(700, 0, $c) | source[i].exist(700, 0, $f)) str=str + " (" if (source[i].exist(700, 0, $c)) 'дополнение к именам, кроме дат str=str + source[i].value(700, 0, $c) if (source[i].exist(700, 0, $c) & source[i].exist(700, 0, $f)) str=str + " ; " if (source[i].exist(700, 0, $f)) 'даты str=str + source[i].value(700, 0, $f) if (source[i].exist(700, 0, $c) | source[i].exist(700, 0, $f)) str=str + ")" if (substring(str, symbol, sizeof(str), 1)!=".") 'проверка на лишнюю точку str=str+ "." } ' Конец: if (source[i].exist(700)) 'первичная интеллектуальная ответственность 'ОСНОВНОЕ ЗАГЛАВИЕ if (source[i].exist(200)) 'заглавие и сведения об ответственности { str=str + " " if (source[i].exist(200, 0, $a)) 'основное заглавие str=str + source[i].value(200, 0, $a) 'Общее назначение материала if (source[i].exist(200, 0, $b)) str=str + " [" + source[i].value(200, 0, $b) +"]" 'Параллельное заглавие if (source[i].exist(200, 0, $d)) str=str + " = " + source[i].value(200, 0, $d) ' Зеленина. 01/07/2009 вставка части и названия части - 200h, 200i if(source[i].exist(200, 0, $h)) str=str + " . " + source[i].value(200, 0, $h) if(source[i].exist(200, 0, $i)) str=str + " . " + source[i].value(200, 0, $i) 'Сведения, относящиеся к заглавию if (source[i].exist(200, 0, $e)) str=str + " : " + source[i].value(200, 0, $e) 'Первые сведения об ответственности if (source[i].exist(200, 0, $f)) str=str + " / " + source[i].value(200, 0, $f) 'Последующие сведения if (source[i].exist(200, 0, $g)) str=str + " ; " + source[i].value(200, 0, $g) if (substring(str, symbol, sizeof(str), 1)!=".") str=str + "." } ' Конец if (source[i].exist(200)) 'заглавие и сведения об ответственности 'СВЕДЕНИЯ ОБ ИЗДАНИИ if (source[i].exist(205)) { str=str + " - " if (source[i].exist(205, 0, $a)) str=str + source[i].value(205, 0, $a) if (substring(str, symbol, sizeof(str), 1)!=".") str=str + "." }' Конец if (source[i].exist(205)) 'МЕСТО ИЗДАНИЯ ' подполе a - место издания, распространения и т.д. ' подполе c - имя издателя, распространителя и т.д. ' подполе d - дата издания, распространения и т.д. if(source[i].exist(210)) { str=str + source[i].value(210, 0, ($a?" - ")) k = source[i].count(210, 0) last = "" for(var j = 0; j < k; j = j + 1) { l = j + 1 if(last == "a") str = str + source[i].value(210, 0, (@jis$a?": "@j)(@jis$c?": "@j)) else { if(last == "c") str = str + source[i].value(210, 0, (@jis$a?"; "@j)(@jis$c?": "@j)) else str = str + source[i].value(210, 0, (@jis$a?@j)(@jis$c?@j)) } if(source[i].exist(210, 0, (@jis$a?@j))) last = "a" if(source[i].exist(210, 0, (@jis$c?@j))) last = "c" } ' Конец for(var j = 0; j < k; j = j + 1) if(source[i].exist(210, 0, $c)==0) { if (substring(str, symbol, sizeof(str), 1)!=":") str=str + " : " str=str + "Б. и." } if(source[i].exist(463)==0) ' вывод года, встроенного в 463 Зеленина { if(substring(str, symbol, sizeof(str), 1)!=":") str=str + " , " if (source[i].exist(210, 0, $d)) str=str + source[i].value(210, 0, $d) if (source[i].exist(210, 0, $d)==0) str=str + "Б. г." } if (substring(str, symbol, sizeof(str), 1)!=".") str=str + "." } ' Конец if(source[i].exist(210)) 'СПЕЦИФИЧЕСКОЕ ОБОЗНАЧЕНИЕ МАТЕРИАЛА И ОБЪЕМ if (source[i].exist(215)) { str=str + " - " if (source[i].exist(215, 0, $a)) 'объем str=str + source[i].value(215, 0, $a) 'другие сведения о физической характеристике if (source[i].exist(215, 0, $c)) 'сведения об иллюстрациях str=str + " : " + source[i].value(215, 0, $c) if (substring(str, symbol, sizeof(str), 1)!=".") str=str + "." } ' Конец if (source[i].exist(215)) 'ОСНОВНОЕ ЗАГЛАВИЕ СЕРИИ if (source[i].exist(225)) { for(var j = 0; j