Как часто в горестной разлуке,
В моей блуждающей судьбе,
Комплект КД, я думал о тебе!
Итак, в предыдущей статье я остановился на автоматизации отдельного документа и пообещал рассказать о том, как удалось организовать работу с комплектом разнородных документов при помощи вспомогательной базы Excel и как оказалось возможным делать комплекты документов вообще не открывая Word.
Под комплектом я здесь понимаю набор файлов форматов Word, Visio и AutoCAD, относящихся к одному общему проекту или изделию. То есть те файлы, которые представляют документы с одинаковыми, взаимно синхронизируемыми текстовыми полями. Далее, я буду называть этот комплект — автоматизированным комплектом документов или АКД.
Давайте посмотрим, как выглядит АКД в проводнике Windows.
Обратите внимание на файл variables.xls. Именно здесь располагаются все переменные, которые мы хотим централизованно распределять по нашему комплекту. В этом файле, при работе макросов VBA Word, Visio, AutoCad — автоматически создаются страницы, соответствующие этим файлам и содержащим все специфические переменные этих файлов.
Есть два нюанса. Первый — страница «All». Она понадобилась для того, чтобы сохранять переменные, которые одинаковы для ВСЕХ без исключения документов АКД. Например, для переменной vObj — Объект проектирования = Зал славы. :)) Второй нюанс — для документов Visio вкладка создается для каждой страницы документа, так как обычно достаточно удобно держать все схемы проекта в одном файле. В принципе, никто не мешает разнести эти схемы и по разным файлам, но в Excel попадут все равно названия страниц этих документов. Ну и дополнительно, чисто для эстетики, цвета вкладок-листов Excel соответствуют типам файлов. Например, синие — это Word.
Так как в предыдущей статье я уже рассказал о принципе формирования и обработки полей-переменных, то сейчас расскажу только о дополнительных вещах, относящихся к работе с файлом переменных. На следующем рисунке показана связь переменных, которые мы создаем с файлом variables.xls. Имя файла может быть любым и оно задается в основном окне макроса — в нижнем белом поле.
Методом проб и ошибок я пришел к такой организации работы со своим «детищем»:
-
Создается новый файл. Как правило, уже на основе имеющегося шаблона.
-
В окне макроса нажимается кнопка «Сохранить». При этом в фале переменных автоматически создается новая вкладка для этого файла и на нее заносятся имеющиеся в документе переменные. Если эти переменные уже есть на вкладке «All» — то они не вносятся на персональную вкладку документа.
-
После сохранения, все «персональные» переменные документа отображаются и редактируются на вкладке окна макроса «Локальные». Общие переменные АКД — отображаются на вкладке «Общие». (Кстати, там они не редактируются, а только отображаются, во избежание ошибочных изменений, которые затронут весь комплект)
-
Если я хочу сделать какие-то из переменных документа — общими, то я просто потом перехожу в файл Excel и перетаскиваю их строки с листа документа на лист «All». А если я хочу переопределить общую переменную персонально для конкретного файла, например, если везде разработчик один и тот же, но в единственном документе он другой то я копирую строку с листа «All» на персональную вкладку этого самого «особенного» документа.
-
Такое повторяется для каждого документа комплекта (если комплект создается «с нуля». Если комплект типовой — то вообще ничего делать не надо, только в Excel или в окне макроса переменные менять.)
Ниже приведу, для примера, код функции, которая обеспечивает занесение переменных документа в файл.
Код функции записи переменных и дисклаймер
На всякий случай, сообщаю — я не профессиональный программист. Поэтому представленный код не является образцом для подражания и периодически балует меня окнами ошибок. Однако, моя идеология программирования заключается в том, чтобы не делать код таким, чтобы он вносил непоправимые ошибки в документы. Соответственно, по мере возникновения ошибок, я просто вношу соответствующие правки в код и работаю дальше.
Sub xlAddVars(ExcelFile As String)
Dim xlWSh, xlWShAll As Object
Dim xlWbk As Object
Dim xlApp As Object
Dim Checked As Boolean
Dim FileEx As Boolean
Dim AllLastRow, LastRow
Dim SheetName As String
SheetName = ""
On Error Resume Next
SheetName = ActiveDocument.Name
On Error GoTo openexcel
Set xlApp = GetObject(, "excel.application")
Checked = False
For a = 1 To xlApp.Workbooks.Count
If xlApp.Workbooks(a).Name = ExcelFile Then Checked = True: Set xlWbk = xlApp.Workbooks(ExcelFile): Exit For
Next
If Not Checked Then
On Error GoTo CreateFile
FileEx = FileDateTime(ActiveDocument.Path + "" + ExcelFile)
On Error GoTo 0
If FileEx Then Set xlWbk = xlApp.Workbooks.Open(ActiveDocument.Path + "" + ExcelFile)
End If
Found = False
For a = 1 To xlWbk.sheets.Count
If xlWbk.sheets(a).Name = SheetName Then Found = True
Next
If Not Found Then
Set xlWbs = xlWbk.sheets.Add(After:=xlApp.Worksheets(xlApp.Worksheets.Count))
xlWbs.Name = SheetName
xlWbs.Tab.ColorIndex = 37
End If
Set xlWSh = xlApp.ActiveWorkbook.Worksheets(SheetName)
Set xlWShAll = xlApp.ActiveWorkbook.Worksheets("All")
'Calculate last used rows in sheets
AllLastRow = xlWShAll.Cells(1, 1).End(-4121).Row
If AllLastRow >= 65536 Then
If xlWShAll.Cells(1, 1).Value = Empty Then AllLastRow = 0 Else AllLastRow = 1
End If
LastRow = xlWSh.Cells(1, 1).End(-4121).Row
If LastRow >= 65536 Then
If xlWSh.Cells(1, 1).Value = Empty Then LastRow = 0 Else LastRow = 1
End If
'Запись кол-ва листов
ActiveDocument.Variables("vPages").Value = ActiveDocument.BuiltInDocumentProperties(wdPropertyPages)
For b = 1 To ActiveDocument.Variables.Count
Checked = False
'Search in All sheet
For a = 1 To AllLastRow
If xlWShAll.Cells(a, 1).Value = ActiveDocument.Variables(b).Name Then
Checked = True
Exit For
End If
Next
'Search in self sheet
If Not Checked Then
For a = 1 To LastRow
sL = ActiveDocument.Variables(b).Name
sR = ""
sL = Left(sL, InStr(1, sL, "_"))
If sL = "" Then sL = ActiveDocument.Variables(b).Name Else sR = Right(ActiveDocument.Variables(b).Name, Len(ActiveDocument.Variables(b).Name) - InStr(1, ActiveDocument.Variables(b).Name, "_"))
If xlWSh.Cells(a, 1).Value = sL Then
If sR = "" Then
xlWSh.Cells(a, 2).Value = "'" + CStr(ActiveDocument.Variables(b).Value)
Checked = True
Exit For
Else
For bb = 2 To 100
If xlWSh.Cells(1, bb).Value = sR Then
xlWSh.Cells(a, bb).Value = "'" + CStr(ActiveDocument.Variables(b).Value)
Checked = True
Exit For
End If
Next
End If
End If
Next
End If
'If not found - add personal row in self sheet
If Not Checked Then
xlWSh.Cells(LastRow + 1, 1).Value = "'" + CStr(ActiveDocument.Variables(b).Name)
xlWSh.Cells(LastRow + 1, 2).Value = "'" + CStr(ActiveDocument.Variables(b).Value)
LastRow = LastRow + 1
End If
Next
Set xlApp = Nothing ' the application, then release the reference.
Exit Sub
CreateFile:
Set xlWbk = xlApp.Workbooks.Add
xlWbk.ActiveSheet.Name = "All"
xlApp.DisplayAlerts = False
For a = xlWbk.sheets.Count To 2 Step -1
xlWbk.sheets(a).Delete
Next
xlApp.DisplayAlerts = True
Set xlWbs = xlWbk.sheets.Add(After:=xlApp.Worksheets(xlApp.Worksheets.Count))
xlWbs.Name = SheetName
xlApp.Workbooks(xlWbk.Name).SaveAs (ActiveDocument.Path + "" + ExcelFile)
Resume
openexcel:
Set xlApp = CreateObject("excel.application")
xlApp.Visible = True
Resume
End Sub
Как и в случае немодального окна макроса, я делаю Excel доступным для редактирования во время работы. Произвольным образом, при этом, могу редактировать значения переменных там, где мне удобно.
Итого, проработав все документы комплекта, мы получаем каталог файлов и один управляющий Excel-файл для централизованного внесения изменений. В некоторых случаях, комплекты получаются таковы, что отредактировав файл переменных можно избежать работы в Word полностью. Разве что придется открыть эти файлы, нажать кнопку макроса «Обновить» и убедиться в корректной подстановке значений в поля перед печатью этого документа.
Теперь давайте посмотрим, что можно сделать, если какой-либо документ комплекта требует специфической проработки. Например, это, в моем случае, будет таблица соединений и подключений.
Заполнять строки таблицы в Word мне неудобно, я лучше это сделаю в Excel. Тем более там можно произвести расчет значений, например, длин кабелей по формулам, автоматом пронумеровать по возрастанию порты, и т.п.
Для переноса этой информации в Word — я сделаю макрос импорта таблицы. При этом, так-как операция эта специфическая именно для «таблицы соединений», то этот макрос я буду создавать именно в этом файле, в файле шаблона таблицы, а не глобально в normal.dotm.
Он из себя представляет следующее: (см внутри)
'Формирование списка
Sub BuildSpec2()
Dim sTab As Table
Dim xlWSh As Object
Dim xlApp As Object
Dim of As Boolean
Dim nf As Boolean
Dim cf As Boolean
Dim oCol, nCol, cCol As Integer
i = Selection.Rows.Count
If i = 0 Then
MsgBox ("Необходимо выделить строки спецификации, куда будет помещены строки раздела (Оборудование)!")
Exit Sub
End If
Response = MsgBox("Экспортировать из Эксел?", _
vbYesNo, _
"Заполнение таблицы")
If Response = vbNo Then Exit Sub
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Err.Clear ' Clear Err object in case error occurred.
MsgBox ("Сначала необходимо открыть в Excel соответствующую спецификацию")
Exit Sub
End If
On Error GoTo 0
Set xlRange = xlApp.Selection
If xlRange.Rows.Count < 2 Then
MsgBox ("Необходимо выделить диапазон строк в Экселе.")
Exit Sub
End If
UserForm1.Show
Application.ScreenUpdating = False
Set sTab = Tables(1)
i = Selection.Rows(1).Index - 1
For a = 1 To xlRange.Rows.Count - 1
sTab.Rows.Add
For b = 1 To 9
sTab.Rows(a + i).Cells(b).Range.Text = xlRange.Rows(a).Cells(b).Text
Next
UserForm1.Label2.Caption = sTab.Rows(a + i).Cells(1).Range.Text
UserForm1.Repaint
Next
UserForm1.Hide
Application.ScreenUpdating = True
Set xlApp = Nothing ' the application, then release the reference.
End Sub
Принцип работы этого макроса заключается единственно в том, чтобы взять диапазон выделенных предварительно в Excel строк и перенести в заготовку таблицы, имеющуюся в шаблоне документа.
При этом, если шаблон сделан правильно (а он сделан правильно), то при заполнении таблицы на первом листе, новые строки таблицы появятся на вновь созданном втором (третьем, четвертом, …) листе (причем этот лист будт сделан уже с другими форматными рамками, соотвтетсвующими последующим листам ЕСКД, с маленькой нижней рамкой основной надписи).
Еще один специфичный документ — спецификация. Часть его заполняется на основе шаблона тем же макросом что и таблица кабелей (именно поэтому, если вы обратили внимание, там в названии макроса стоит Buildspec)
Здесь можно дополнительно сделать формирование списка документации, который… правильно! Соответствует набору вкладок в файле variables.xls. Поэтому очередной специфический макрос для документа «спецификация» будет осуществлять просмотр листов-вкладок «Excel» и в порядке следования занесет их в таблицу «Документация». Названия, коды, примечания — будут взяты из соответствующих переменных, введенных ранее для этих документов.
В комплекте документов есть еще ряд файлов Visio и AutoCAD. Работа с ними отличается от работы с Excel и Word, что само собой разумеется. И эти отличия заслуживают отдельного рассмотрения.
В следующей статье, я опишу принципы и некоторые детали реализации автоматизации Visio — документов. В том числе работу с шаблонами и Stencils-ами.
Сделала лишь потому, что только учусь писать макросы. А т.к.только учусь — наверняка далеко не так коротко и оптимально, чем могло бы быть сделано.
У меня часто тут на сайте плохо отображается текст кода, поэтому текст макроса я кину вам файлом work.xlsm.
Форматы всякие (ширина колонок, шрифты и тп) — это уж сами.
Предполагается что номер спецификации и договора в рамках одной поставки будет один и тот же.
Ед изм — везде «кг»
ставка ндс — везде 18%
срок поставки — везде «27.05.2015», т.к. не указано иное
Вообще весь текст, идущий под таблицей в примере файла спецификации — он статичный, кроме числа «цена за всю партию»
Как это число прописью прописать тоже сами ищите.
Макет итоговой спецификации таков, что там не будет скрытых строк. весь текст пляшет от последнего заполненного в спецификации товара.
Вообще, думаю не нужно объяснять, что итоговый макет и исходная таблица (порядок и названия столбцов) должны быть неизменны.
Я задала так, чтобы название файла спецификации формировалось как «Спецификация» + номер поставки, т.е. вида «Спецификация2.xls»
Ну чтобы ошибка не выдавалась, т.к. единовременно может быть открыт только один файлс названием «Спецификация.xls»
При запуске макроса, файл work.xlsx должен быть открыт (что очевидно, т.к. там кнопка запуска, на которую вы планируете повесить макрос))
Текст макроса (из приложенного мною work.xlsm) помещаете в свою личную книгу макросов или как там вы хотите. и назначаете его на кнопку формирования спецификации.
Для проверки работы, откройте свой файл work.xlsx (задайте там в ячейке E2 нужный номер поставки), откройте мой файл work.xlsm. и жмите в нем на синюю кнопку.
Сформированные файлы спецификаций будут сохраняться у вас по пути, который задан по умолчанию (в большинстве случаев, это Мои документы). Чтобы изменить путь сохранения смотрите мои комментарии в тексте макроса.
sYska
размещено: 11 Февраля 2018
Дорогие проектировщики, выкладываю вам свою наработку для оформления спецификации и КЖ с использованием макросов.
Что реализовано:
1) Автоматическая верхняя и нижняя нумерация.
2) Автоматическая правка размеров рамки под разные принтеры.
3) Автоматическое форматирование строк и их нумерация.
Ну и еще некоторые няшки.
Часто Exel отображает, что что-то съехало… смотрите на то как он выводит на печать.
Хорошо бы нашелся хороший программер для того, чтобы довести это до ума и оптимизировать код.
Если будут вопросы и еще что-то пишите на почту [email protected]
0.32 МБ
СКАЧАТЬ
Заполнение спецификации макросом |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Создать спецификацию по шаблону на основе данных из таблицы (Формулы/Formulas)
Смотрите также если не возможно столбцы. Например есть только с выбором все 10 столбцов: Господа и дамышаблоны Word (расширения всю работу нажатием может уже есть
man1180Это возможно осуществить? нужно получить в вордом, но решила, не сделать, нужен файлик, но исправиласьГолову уже сломала. пп, заказчик=ФИО, АдресRityzina видеть все сразу, 1 столбец-Название Резисторы,
«по любому столбцу» файла источника, совсем подскажите пожалуйста возможно DOT, DOTX, DOTM) одной кнопки, макрос, который потребует: Здравствуйте,Картинки отправлю на эксель. что в моем макрос.gling
Помогите, пожалуйста.
доставкиустановки, контактный телефон,
: Есть так, как иногда 2-Номинал 1, 1.5 непонятно: ведь по хорошо если выбор ли в Excelкниги Excel (расширения- то воспользуйтесь минимальной доработки для
подскажите пожалуйста как емаилЗадача в том, случае это неудобно,Pelena: Предполагаю что Вам
gling e-mail, и ФИОреестр заказов удобней выбирать разное и т.д, 3-мощность, какому бы Вы можно будет производить реализовать следующую задачу? XLS, XLSX, XLSM, надстройкой для заполнения моей задачи? в Excel реализоватьFAETON что бы выделенный поэтому хотела реализовать: Как вариант, можно лучше сменить порядок
: И Вам здравствовать внизу страницы).(№пп, ФИО, адрес, оборудование по разным 4- производитель понятно,
столбцу не щёлкнули по любому столбцу.Необходимо создавать спецификации XLSB)
документов Word из
заранее спасибо следующую задачу?
: вот Дополнительные графы на картинках красным мою задачу именно сделать шаблон в заполнения. Создать шаблон Rityzina. Красивый Ник,На каждую строчку в телефон, e-mail, стоимость)
параметрам что ни один — должна выбраться Либо второй вариант следующим образом, в
шаблоны Excel (расширения
excelworld.ru
Спецификация в Excel (спецификации которые нужно получить в эксель)
Excel:KuklP
необходимо создание большого во вложении цветом области автоматически в экселе.
Word’е и использовать «ЗАКАЗ-СПЕЦИФИКАЦИЯ № « теплый наверно? Без реестре заказов надо — вкладка «реестрЮрий М из этих столбцов ВСЯ строка. Так (несколько хуже), чтобы одном файле excel
XLT, XLTX, XLTM)Надстройка предназначена для: Воспользуйтесь инструментов в кол-ва однотипных приложений
doober
вставлялись в каждуюПро обратный порядок
инструмент Слияние он уже есть. файла примера вряд
создать заполненную спецификацию заказов» — заполняется
: Резисторы, ёмкости… это сам по себе
следует из вопроса. выбор производился по
(в крайнем случае
текстовые документы (расширения
формирования (подготовки) документов Ворд — Слияние.
excelworld.ru
Создание спецификаций из Эксель в ворд
к договору на: Возможно.
страницу. Все страницы заполнения я иand_evg
Заполняете его вручную ли кто Вам(можно в том вручную (кроме «стоимость»
мне близко. Поэтому информации не несет
Тогда зачем отображать одному любому столбцу листе)находится перечень оборудования TXT, DAT, XML
по шаблонам, с Тогда и макросов поставку оборудованияКаков бюджет этого после 2-ой должны
не подумала, спасибо
: и жмете кнопку поможет. Похоже файл же файле каждую — желательно)
см. вариант и выбрать оборудование
все столбцы? Всё также списком, а (10 столбцов с и т.д.)
заполнением созданных файлов не понадобится.пример приложения в
предприятия? быть похожи на что подсказали иRityzina
сохранить, в результате подзадержался в дороге. спецификацию в отдельнойЕстьnik видя только один
равно ВСЯ строка заполнялась бы вся хар-ми). В другом
В качестве исходных данными из текущей
Юрий М ататче
Кирилл вторую. Все размеры реализовали!!!!
, Как Вам предлагали этот лист сохраняется
Счас глянем. вкладке, можно всешаблон спецификации
: уважаемый Yury столбец невозможно. Очень должна заполниться. строка. файле excel выбираем данных для заполнения,
planetaexcel.ru
Создание спецификаций
книги Excel.: Читаем здесь:удобнее всего набрасывать: Все возможно. по Гостам.
Всех люблю, целую!!!См. файл. под номером заказа,Rityzina спецификации в одной- вкладка «спецификации»самое простое и часто хар-ки уникальныYuryЗаранее благодарен всем необходимое оборудование из используется открытый вВ качестве шаблоновEducatedFool табличку в экселе,[email protected]Дополнительные графы такжеFAETONRityzina а данные из: Доброй ночи! спасибо, вкладке, можно каждую — несколько полей надежное использовать автофильтр и поэтому необходимо
: Благодарю Вас Юрий за любую информацию!
выпадающего списка, НО Excel файл (с могут выступать следующие: Если не хотите далее руками приходитсяskype: Skillyr должны отображаться на: Добрый день,: Всем огромное спасибо!!! него прописываются в на холод не спецификацию отдельным файлом должны заполняться автоматически — выбор с заполнять всю стороку
МЮрий М желательно чтобы при
таблицей, содержащей строку типы файлов: разбираться во всех переносить в ворд.smeckoi77 всех страницах,начиная сПрикреплены картинки сЯ думала про листе «Реестр спецификаций». жалуюсь — это не на основе данных любым количеством столбцов, сразу. Выбор поПопробую пояснить зачем: Вам, скорее всего, выборе в выподающем заголовка)документы Word (расширения этих макросах,подскажите пож-та -: Обращайтесь [email protected] первой. видом спецификации, которую вариант слияния с
Простыми формулами это. Да, потеряла очень принципиально) реестра заказов (№
в любом порядке. столбцам, как вариант,
необходимо видеть все подойдёт ВПР. Вот списке были видныYury DOC, DOCX, DOCM)
planetaexcel.ru
а желаете делать
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
Сейчас Вы — Гость на форумах «Проектант». Гости не могут писать сообщения и создавать новые темы.
Преодолейте несложную формальность — зарегистрируйтесь! И у Вас появится много больше возможностей на форумах «Проектант».
Последние сообщения на форуме «Программы для проектирования»
13 Апреля 2023 года, 13:44
10 Апреля 2023 года, 13:50
07 Апреля 2023 года, 19:31
30 Марта 2023 года, 07:16
28 Февраля 2023 года, 11:16
21 Февраля 2023 года, 19:13
19 Февраля 2023 года, 16:22
09 Февраля 2023 года, 15:24
09 Февраля 2023 года, 14:46
09 Февраля 2023 года, 14:08
08 Февраля 2023 года, 12:22
06 Февраля 2023 года, 15:12
24 Января 2023 года, 09:30
08 Января 2023 года, 16:16
06 Января 2023 года, 15:06
Программа для заполнения спецификаций в Excel
Установка:
Поддержка версий Excel 2007 и выше, что будет в 2003 не проверял.
Для установки программы:
- В любое удобное место скачать все файлы из папки «Спецификация» (по ссылке «releases» версия может быть не актуальной) все файлы используются при работе, при их отсутсвии могут быть ошибки:
- «SpecProgram.xlam»
- «SpecDataBase.xlsx»
- «Template-Spec.xlsx»
- «Page1.png»
- «Page2.png»
- Файлы должны лежать в одной папке
- Открываем «SpecProgram.xlam» , разрешаем работу макросов и подтверждаем установку надстройки.
- Далее работа ведется с файлом «Template-Spec.xlsx», при открытии документа Excel есть кнопка «Создать спецификацию» на вкладке «Спецификация».
- Для обновления просто заменяем файл надстройки новым.
- Если Эксель блокирует файл надстройки https://www.excel-vba.ru/chto-umeet-excel/nadstrojka-ne-zapuskaetsya-v-excel/
Описание программы
Шаблон для спецификации состоит из 5 листов
- Версии
- Спецификация
- Перенос (может быть скрыт)
- СО
- ВР
Версии
В этом листе можно сохранить информацию о предыдущих версиях файла (функция не до конца отработана, могут быть ошибки)
Спецификация
Это главный лист для составления спецификации, в него заносим всю необходимую информацию, и добавляем элементы из базы данных.
Перенос
Это рабочий лист, используется только для ручного переноса спецификации – описано далее. Может быть скрыт.
СО и ВР
Листы подготавливаются для печати то, что заполнили на листе спецификация. Они разлинованы под ГОСТ, на сколько позволяет Excel, слева основная надпись подгружена помощью изображений Page1.png, Page2.png сами изображения при желании можно корректировать. Старые листы заменяются автоматически при запуске.
Описание меню (вкладка на ленте Excel «Спецификация»)
Перенос спецификации.
- Сохранить сегодня: Сохраняет файл с новой датой в имени.
- Перенос спецификации: Подготовка спецификации к печати, аналог кнопки «Печать» на листе.
- Создать спецификацию: Создает новую спецификацию по умолчанию сохраняет в папку с надстройкой.
- Стиль R1C1: меняет стили таблиц Excel на R1C1 или A1 соответсвенно.
- Позиции: Корректирует позиции (сквозная нумерация)
- Кнопки Создает кнопки если они не появились автоматически
Версии.
- Очистить всё: Удаляет все версии файла, оставляет одну текущую.
- Сохранить: Сохраняет версию спецификации.
- Список версий: Показывает все сохраненные версии спецификации.
- Заменить дату: Меняет дату текущей версии файла — лист «Версии», если этого листа нет, создает лист и записывает информацию о первой версии.
- Пакетная обработка: Выполняет пакетную обработку записанных действий в нескольких файлах (или не пользоваться, или пользоваться аккуратно, плохая отладка).
- Снятие блокировки: Снимает блокировку на листе «Версии», если в этом есть необходимость.
Работа с базой.
- Переподключить Переподключает базу данных из файла «SpecDataBase.xlsx».
- Закрыть форму: Принудительно выгрузить из памяти форму «Добавить из базы».
- Добавить из базы: Добавляет элемент из базы данных. Аналог кнопки на листе.
- Надстройка Отображает/скрывает надстройку. Можно отредактировать шаблон вывода на печать
- Сортировать базу: Сортировка базы данных (после добавления новых элементов в базу).
- Открыть базу: Открывает файл базы данных для редактирования.
- Лист Спецификация
- Перенос: Подготовка спецификации к печати, аналог кнопки «Перенос спецификации» в меню.
- Добавить из базы: Добавляет элемент из базы данных. Аналог кнопки в меню.
- Очистка: Очистка листов «СО», «ВР», «Перенос» на выбор.
- Создать PDF СО и ВР: Создает PDF версии с листов СО и ВР одновременно. Сохраняется на рабочем столе в папке «PDF Спецификации».
- Лист Перенос (может быть скрыт) описание работы в «Правилах подготовки спецификации на печать» «В ручную»
- Перенос по строкам.
- Перенос по листам.
- Листы СО и ВР
- Добавить лист: Добавляет лист в спецификацию.
- Отправить на печать:
- «Печать листа» распечатает ТЕКУЩИЙ лист.
- Если выбрана «Печать в PDF» Сохраняет лист как PDF на рабочем столе в папке «PDF Спецификации»
- Если выбрана «Печать на А4, А3» отправляет на печать текущий лист на принтер по умолчанию.
- Кнопка «Пакетная печать» Печатает на принтере по умолчанию или создает PDF файлы сразу у нескольких выбранных файлов (все параметры нужно задать)
- «Печать листа» распечатает ТЕКУЩИЙ лист.
- Добавляет порядковый номер листа в колонтитуле
Правила заполнения спецификации:
- Спецификация заполняется на листе «Спецификация» строки в колонке «Наименования» пропускать НЕЛЬЗЯ.
- Если стоит позиция, то при переносе между «позициями» пропускается строка. Если Позиция отсутствует строка не пропускается, чтобы строка не пропускалась при налиции позиции в конце строки устанавливается символ «_». Чтобы не было пропуска при переносе устаналивается соответствующий пункт в Настройках переноса.
- Знак неразрывного пробела «_» пропадает на листах для печати.
- «вр» в строке позиции прописывается для создания «заметок» для ведомости объемов работ (лист ВР), игнорируется при создании «Спецификации» (лист СО).
- Если в колонках СО и ВР установлен (произвольный) символ, то при подготовке для печати с этого места будет перенос на новый лист.
- Если необходимо подчеркнуть строку вместо позиции ставим букву «ч». (ГОСТ 21.501-2011 5.7).
Правила подготовки спецификации на печать:
Автоматически (используется для новых спецификаций, если нет никаких изменений)
- Нажать «Печать» на листе, или «Перенос спецификации» в меню — Выбираем «На лист для печати».
- Где необходимо начать с нового листа добавляем разделитель в колонке «СО» и «ВР» (п. 6 правил заполнения)
- Если будет меньшее количество листов чем есть на листах СО и ВР то появляется запрос о необходимости удалить лишние. При нажатии «Нет» функция продолжает работать, но последние листы не удаляются.
В ручную (используется в случае если в спецификация делаются изменения, устанавливаются маркеры и т.п., чтобы «не поехало» форматирование)
- Нажать «Перенос» на листе, или «Перенос спецификации» в меню — Выбираем «На лист перенос».
- С листа «Перенос»
- Выбираем «Перенос по листам» (для первого листа НЕ использовать)
- Выбираем Ячейку «Позиции» на листе Перенос с которой будем переносить.
- На листе СО или ВР Выбираем ЛЕВУЮ ВЕРХНУЮЮ ячейку (сразу под ячейкой «Позиция») жмем ОК
- Выбираем необходимое количество листов для переноса
- НЕ ИСПОЛЬЗОВАТЬ ДЛЯ ПЕРВОГО ЛИСТА!!!!
- Выбираем «Перенос по листам» (для первого листа НЕ использовать)
- Для того чтобы перенести несколько строк выбираем «Перенос по строкам», выбирается все аналогично «Переносу по листам» только задается необходимое количество строк, а не листов, для переноса на первом листе использовать этот способ с указанием необоходимого переноса строк.
- Кнопка «Добавить лист» добавляет лист в СО или ВР
Работа с базой данных
Добавление новых элементов
- Для редактирования базы открыть файл SpecDataBase.xlsx, Кнопка Спецификация — Работа с базой — Открыть базу, Лист База_СО (имя не менять). В первых четырех колонках нельзя добавлять цифры.
- Поле «Примечание» — можно добавить необходимую информацию об элементе, отображается на форме, при наведении на «Тип оборудование материала» (после выбора элемента)
- Поле «1» — просто порядковый номер элементов
- Поле «Нов.» метка для новых элементов, чтобы их удобнее было найти (смысловой нагрузки не несет).
- Поле «Сортировка» — Для сохранения порядка сортировки элементов внутри подкатегории (иногда Excel сортирует неправильно).
- После добавление элементов необходимо переподключить базу данных, кнопка «Переподключить» на вкладке спецификация.
Добавление элементов в спецификацию
- На листе «Спецификация» жмем кнопку «Добавить из базы» или в меню с аналогичным названием.
- Выбираем необходимый элемент.
- Выбираем строку в которую необходимо вставить нашу позицию.
- И жмем кнопку вставить.
После работы макроса комбинация клавиш Ctrl + Z (Отмена) не работает, будьте внимательны к содержимому.
По умолчанию форма не выгружается из памяти, поэтому если появляются проблемы с отображением формы (обычно такое встречается, когда параллельно работаешь с несколькими листами), то форму надо «принудительно закрыть» кнопка «Закрыть форму» на вкладке Спецификация – Работа с базой
Представляю вашему вниманию шаблон спецификации оборудования, изделий и материалов выполненный в программе Microsoft Excel. Данный шаблон работает во всех версиях программ Microsoft Excel.
Данный шаблон спецификации выполнен для листа формата А4. Графы в спецификации заполнены в соответствии с формой 1 — ГОСТ 21.110-2013 (действующий). Шрифт в шаблоне принимается GOST type A. Если вам данный шрифт не подходит, его можно изменить как на листе «СВОДНАЯ», так и на листе «Спецификация».
Использовать спецификацию нужно в следующем порядке:
1. Все технические характеристики оборудования, изделий и материалов вы указываете ТОЛЬКО на листе «СВОДНАЯ». На этом же листе, вы можете копировать, вставлять, удалять, редактировать спецификацию как вам угодно. Все данные которые вы указываете на данном листе, также отображаются на листе «Спецификация».
2. На листе «Спецификация» вы уже получаете готовую спецификацию заполненную по форме 1 — ГОСТ 21.110-2013 со штампами. На данном листе вам осталось только заполнить штампы.
3. Печать спецификации выполняется с листа «Спецификация». Для того что бы распечатать спецификацию, вам нужно выбрать область печати. Для этого перейдите на последний лист спецификации и передвиньте границу синей рамки, используя ползунок, к нижней границе листа. При этом активные листы для печати будут выделены белым цветом, а неактивные листы – серым цветом.
Всего наилучшего! До новых встреч на сайте Raschet.info.
Excel, ГОСТ 21.110-2013, Спецификация
Благодарность:
Если вы нашли ответ на свой вопрос и у вас есть желание отблагодарить автора статьи за его труд, можете воспользоваться платформой для перевода средств «WebMoney Funding» и «PayPal».
Данный проект поддерживается и развивается исключительно на средства от добровольных пожертвований.
Проявив лояльность к сайту, Вы можете перечислить любую сумму денег, тем самым вы поможете улучшить данный сайт, повысить регулярность появления новых интересных статей и оплатить регулярные расходы, такие как: оплата хостинга, доменного имени, SSL-сертификата, зарплата нашим авторам.