Хобби или любимые занятия
+4
Михаил
maikl1292
Сергей
Дмитрий Иванович
Участников: 8
Страница 1 из 3
Страница 1 из 3 • 1, 2, 3
Хобби или любимые занятия
Приветствую многоуважаемых участников сего форума!
В данным момент, не знаю как и назвать, занимаюсь тем - в выходной день (да и не только) тем, что занимаюсь "записями".
Видимо, в прошлом, был немного меломаном - записывал на магнитофон.
Сейчас - свои виниловые пластинки - записываю (с помощью программы Nero Wave Editor) на компьютер, далее - на диски.
А уж судьба их - пусть расходятся постепенно для окружающих, кто не знаком с тем прекрасным, что было в прошлом.
Впрочем - это эпиграф.
Хобби - кто что - кто марки собирает, кто молоток из рук не выпускает, кто отдохнуть людям не даёт - стены сверлит и долбит, кто - чеканит, кто - фотографирует, кто - пишет, рисует, кто - играет на музыкальных инструментах, кто - строит, кто - паяет, кто - ломает по принципу: "Мы наш, мы новый мир построим" (вначале разрушив) и т. д.
В детстве - в фантики играли - собирали (от конфет), забавно было.
Играли, игры в войну (Зарница была - официальная).
Да - думаю, в эту тему можно писать обо всём, что близко каждому, кто находит отдушину в этой - непростой жизни (она и раньше простой не была, теперь - тем паче).
Если про себя - музыка, в прошлом - играл (бас-гитаристом был) в ансамблях - в школе, в ВУЗах (начинал 1 курс в одном, перевёлся - в другой), далее - в жизни - акустическая гитара в компаниях (иногда), до компьютера - немножко радиолюбитель был, затем - прилип к этому дьявольскому чуду (другого слова нет).
Супруга вяжет - любит это дело.
Об остальном - по мере раскрытия темы - ведь сразу всё и не вспомнишь.
PS: Да, темы повторяются (из того же - 1001) - ничего не поделаешь - жизнь, темы одинаковые во многих форумах.
В данным момент, не знаю как и назвать, занимаюсь тем - в выходной день (да и не только) тем, что занимаюсь "записями".
Видимо, в прошлом, был немного меломаном - записывал на магнитофон.
Сейчас - свои виниловые пластинки - записываю (с помощью программы Nero Wave Editor) на компьютер, далее - на диски.
А уж судьба их - пусть расходятся постепенно для окружающих, кто не знаком с тем прекрасным, что было в прошлом.
Впрочем - это эпиграф.
Хобби - кто что - кто марки собирает, кто молоток из рук не выпускает, кто отдохнуть людям не даёт - стены сверлит и долбит, кто - чеканит, кто - фотографирует, кто - пишет, рисует, кто - играет на музыкальных инструментах, кто - строит, кто - паяет, кто - ломает по принципу: "Мы наш, мы новый мир построим" (вначале разрушив) и т. д.
В детстве - в фантики играли - собирали (от конфет), забавно было.
Играли, игры в войну (Зарница была - официальная).
Да - думаю, в эту тему можно писать обо всём, что близко каждому, кто находит отдушину в этой - непростой жизни (она и раньше простой не была, теперь - тем паче).
Если про себя - музыка, в прошлом - играл (бас-гитаристом был) в ансамблях - в школе, в ВУЗах (начинал 1 курс в одном, перевёлся - в другой), далее - в жизни - акустическая гитара в компаниях (иногда), до компьютера - немножко радиолюбитель был, затем - прилип к этому дьявольскому чуду (другого слова нет).
Супруга вяжет - любит это дело.
Об остальном - по мере раскрытия темы - ведь сразу всё и не вспомнишь.
PS: Да, темы повторяются (из того же - 1001) - ничего не поделаешь - жизнь, темы одинаковые во многих форумах.
Дмитрий Иванович- Кот Леопольд
- Сообщения : 481
Дата регистрации : 2011-07-02
Возраст : 65
Откуда : Воронеж
Re: Хобби или любимые занятия
Ну, я вот люблю ещё и программировать.
До вчерашнего для изголялся на Visual Basic 6.0. Ему более 10 лет.
И вчера вот установил Windows 7. Чудесная система. Очень понравилась.
Особенно после того как я задал внешний вид её как у Windows 95.
Ну, дело вкуса. Я люблю как попроще.
Но, к сожалению увы, оказалось, что мои программки не стали работать под новой системой.
Я написал для работы, не то, чтобы программку, а мощное приложение.
Только вот классы некоторые использовал ещё от Windows 3.11!
И всё это под ХР ещё работало. А Windows 7 сказала, типа, не понимаю, что такое автоинкремент у ключевого поля объекта Recordset.
Вот всю ночь устанавливал теперь уже самый последний выпуск Visual Studio.NET 2010. Устанавливался несколько часов!
Да, уж... Мой старенький, пятилетней давности, двухядерный компьютер едва тянет этот пакет.
Да и придется изучать и новый, собственно, язык. Он правда на старый похож.
Но и сильно изменился. Да и классы и объекты уже далеко ушли вперёд, тем более со времён Windows 3.11.
Одна только справочная система занимает 270 мегабайт! И то, только один главный раздел. Сам пакет Visual Studio.NET 2010 около 7 гегабайт! Что ещё приятно, что впервые со времён середины 90х справка вновь стала на русском языке!
Ну и я так думаю, что не стоит отставать от стремительного прогресса. Если уж осваивать , но только опять самое новое.
До вчерашнего для изголялся на Visual Basic 6.0. Ему более 10 лет.
И вчера вот установил Windows 7. Чудесная система. Очень понравилась.
Особенно после того как я задал внешний вид её как у Windows 95.
Ну, дело вкуса. Я люблю как попроще.
Но, к сожалению увы, оказалось, что мои программки не стали работать под новой системой.
Я написал для работы, не то, чтобы программку, а мощное приложение.
Только вот классы некоторые использовал ещё от Windows 3.11!
И всё это под ХР ещё работало. А Windows 7 сказала, типа, не понимаю, что такое автоинкремент у ключевого поля объекта Recordset.
Вот всю ночь устанавливал теперь уже самый последний выпуск Visual Studio.NET 2010. Устанавливался несколько часов!
Да, уж... Мой старенький, пятилетней давности, двухядерный компьютер едва тянет этот пакет.
Да и придется изучать и новый, собственно, язык. Он правда на старый похож.
Но и сильно изменился. Да и классы и объекты уже далеко ушли вперёд, тем более со времён Windows 3.11.
Одна только справочная система занимает 270 мегабайт! И то, только один главный раздел. Сам пакет Visual Studio.NET 2010 около 7 гегабайт! Что ещё приятно, что впервые со времён середины 90х справка вновь стала на русском языке!
Ну и я так думаю, что не стоит отставать от стремительного прогресса. Если уж осваивать , но только опять самое новое.
Сергей- Властелин времени
- Сообщения : 1149
Дата регистрации : 2011-06-23
Возраст : 58
Откуда : Челябинск
Re: Хобби или любимые занятия
Интересное у Вас, Dirizab, увлечение!
Занимает много времени!
Надо только этим и заниматься!
Я, честно говоря, профан в программировании - никогда этим не занимался.
Исключительно пользователь, зато - с некоторым опытом.
Что я делал - устанавливал (для пробы Windows 95. 98, 2000, XP - со счёта сбился) - нравилось это дело.
Потом друг надоумил пользоваться программой Acronis - тоже увлёкся!
Столько создавал tib - архивов!
Замечательная вещь - если рухнула система - восстанавливаю из архива за минут 15 - и всё. Ось вместе с программами на момент архивации.
Архивация занимает от 20 до 40 минут. Затем ещё на диски записывал - используя NeroInCD (с других форматов не читает архивы).
Тоже сильно увлёкся - для проверки, к примеру - Acronis Disk Director - использовал и форматировал системный раздел.
Затем - на это место из архива тут же восстанавливал только что заархивированный раздел - чудо!
Тут же грузится компьютер со всеми программами - после форматирования и восстановления.
Чем ещё хорош Acronis - можно делать с разделами что угодно - создавать новые, изменять, менять размеры кластеров. И всё это - без потери данных!
Лучше нет программы, но она - платная (взлом тоже работает неплохо).
Затем - официально нашёл замену - Paragon Disk backUp and Recovery - вначале не получалось, затем - привык - тоже замечательно работает.
Самое первое - сделать загрузочные диски для Акрониса или Парагона.
А БИОС - обязательно - чтобы 1 загрузка с диска была, 2 - с винта.
Это уже правило.
Единственный недостаток - если давнишние архивы - после восстановления немного надо всё обновлять. Но это не сравнить с новой установкой и установкой всех программ.
Ещё широко пользуюсь утилитами - реестровыми и файловыми - очищаю от мусора. Тем самым поддерживаю скорость.
Пробовал на мой старый семёрку - не устанавливается - слишком много ресурсов нужно.
Мне не до этого.
В основном - на работе и дома - текстами занимаюсь (печатная машинка) - не играю. В сети - хватает мощности.
Так что - "хрюша" вполне устраивает.
А вот друг купил самый навороченный ноутбук - Sony, да ещё семёрку максимальную лицензию.
Что-то мне не нравится - как у него работает.
С хрюшей проще гораздо.
Да и лицензия ради лицензии - понятие относительное.
Давно бы перешёл на пингвина, но, к сожалению - далеко не все периферийные устройства с ним работают - не пишут под Linux.
А если установить виртуальный ПК - пробовал - не нравится. Тоже - дело в ресурсах, место надо на винте, да и памяти.
Только что записал органную музыку - с пластинки - "Органы Эстонии" - ещё фирмы "Мелодия". Сейчас буду редактировать.
Чем хорошо записывать - надо просто слушать, одновременно - можно в сети быть, болтать, как сейчас я и делаю, можно тексты набирать.
Занимает много времени!
Надо только этим и заниматься!
Я, честно говоря, профан в программировании - никогда этим не занимался.
Исключительно пользователь, зато - с некоторым опытом.
Что я делал - устанавливал (для пробы Windows 95. 98, 2000, XP - со счёта сбился) - нравилось это дело.
Потом друг надоумил пользоваться программой Acronis - тоже увлёкся!
Столько создавал tib - архивов!
Замечательная вещь - если рухнула система - восстанавливаю из архива за минут 15 - и всё. Ось вместе с программами на момент архивации.
Архивация занимает от 20 до 40 минут. Затем ещё на диски записывал - используя NeroInCD (с других форматов не читает архивы).
Тоже сильно увлёкся - для проверки, к примеру - Acronis Disk Director - использовал и форматировал системный раздел.
Затем - на это место из архива тут же восстанавливал только что заархивированный раздел - чудо!
Тут же грузится компьютер со всеми программами - после форматирования и восстановления.
Чем ещё хорош Acronis - можно делать с разделами что угодно - создавать новые, изменять, менять размеры кластеров. И всё это - без потери данных!
Лучше нет программы, но она - платная (взлом тоже работает неплохо).
Затем - официально нашёл замену - Paragon Disk backUp and Recovery - вначале не получалось, затем - привык - тоже замечательно работает.
Самое первое - сделать загрузочные диски для Акрониса или Парагона.
А БИОС - обязательно - чтобы 1 загрузка с диска была, 2 - с винта.
Это уже правило.
Единственный недостаток - если давнишние архивы - после восстановления немного надо всё обновлять. Но это не сравнить с новой установкой и установкой всех программ.
Ещё широко пользуюсь утилитами - реестровыми и файловыми - очищаю от мусора. Тем самым поддерживаю скорость.
Пробовал на мой старый семёрку - не устанавливается - слишком много ресурсов нужно.
Мне не до этого.
В основном - на работе и дома - текстами занимаюсь (печатная машинка) - не играю. В сети - хватает мощности.
Так что - "хрюша" вполне устраивает.
А вот друг купил самый навороченный ноутбук - Sony, да ещё семёрку максимальную лицензию.
Что-то мне не нравится - как у него работает.
С хрюшей проще гораздо.
Да и лицензия ради лицензии - понятие относительное.
Давно бы перешёл на пингвина, но, к сожалению - далеко не все периферийные устройства с ним работают - не пишут под Linux.
А если установить виртуальный ПК - пробовал - не нравится. Тоже - дело в ресурсах, место надо на винте, да и памяти.
Только что записал органную музыку - с пластинки - "Органы Эстонии" - ещё фирмы "Мелодия". Сейчас буду редактировать.
Чем хорошо записывать - надо просто слушать, одновременно - можно в сети быть, болтать, как сейчас я и делаю, можно тексты набирать.
Дмитрий Иванович- Кот Леопольд
- Сообщения : 481
Дата регистрации : 2011-07-02
Возраст : 65
Откуда : Воронеж
Re: Хобби или любимые занятия
До жути интересное! Просто не оторваться!Дмитрий Иванович пишет:Интересное у Вас, Dirizab, увлечение!
Занимает много времени!
Надо только этим и заниматься!
.......
Вообще, это как периодическое хобби.
А тут оказалось, что моя программа, которую я под XP писал ещё и на VB6.0, которому в обед сто лет, вдруг оказалась не работающей.
Я ей занимался время от времени много лет.
Как только 15 лет назад 6 мая я бросил бизнесменство-коммерсанство и занялся вот делом, то есть, сигнализациями пожарными, охранными. Тогда я впервые сел за компьютер, на котором стояла увиндоувс 3.11.
А работу нашёл через службу занятости. Ну, пришёл туда. Мне и говорят - ничего сложного. Вот есть нормативная документация - её надо читать. Есть техническая документация. Компьютер - не беда - тут вообще всё просто. Я не долго думая раз-и сказал - ничего, через месяцок освою. Так и вышло. А тяга к программированию у меня ещё началась с программируемого микрокалькулятора МК-61. Это ещё в начале 80-х. Потом собрал комп Радио-86РК. Там на ассемблере освоил программирование.
Потом - перестройка - кооперация - ну и сбизнесовался с ума малость. Деньги дурные, а человеком себя не ощущаешь. Казалось бы, чего не паразитировать - так вот совесть всё равно гложет. Вот так я и устроился инженером по сигналкам. Этим и занимаюсь.
Так вот прямо с самого начала я поехал на бару и там купил инсталяшку VB3. Купил книги и стал изучать программирование.
Идея была автоматизировать рутинные процессы. Первая программа называласт "Микроталмудник". Это было что-то похожнн на базу данных. Не реляционную. Просто плоская. Текст и цифры хранил в файле прямого доступа. А картинки просто в папке. Но в файле хнанились ссылки на картинки. Это было круто. Занёс тута главную информацию по оборудованию.
Потом узнал, что есть способы построения реляционных баз данных. Занялся ими. Там пробовал соорудить базу данных.
Потом на основе моей базы написал программку "Сметогенератор", которая работала не только с базой данных .mdb, но и научился программно управлять экселем. Вот этим моим изобретением пользовались до тех пор, пока не вышли стандарты для оформления смет. Ну, если проводить параллель, то я сделал прототип систем, которые сейчас используются Гранд-смета, Смета-ру...
Сейчас программка, которая крякает медленно и верно - это уже серьёзная штучка, только ориентированная не на сметную деятельность, а на расчёты и таблицы при проектировании слаботочных систем. Производит акустические расчёты систем озвучивания и оповещения не по одной комнатке. А сразу в здании. Или зданиях... Для каждого помещения по сетке примерно в 50 сентиметров для каждой точки считаются звуковые давления. Неравномерность распределения звука и так далее.
Методика приблизительная, то есть оценочная. Но всё равно расчёты где-то около того, что реально получается. Причём всё это рассчитывается по ходу ввода данных. Если это считать вручную, то на это потребуется наверное несколько лет. Поэтому, я первый в городе, кто начал честно по СНИПам рассчитывать речевое пожарное оповещение.
Есть, конечно и готовые программы. Но они меня не удовлетворили в том плане, что мне надо рассчитывать не одно помещение. Моя программа считает сразу здание и не только звуковые давления, но и мощности веток питания громкоговорителей, считает добавочные резисторы и самое главное - отчёты в виде длинных и мрачных таблиц прямо в эксель.
Вообще, главная задача проги - это избавить меня от ручного забивания таблиц. А на большой объект их могут быть сотни страниц. И самое главное, что потом захочется или потребуется внести изменения в проект, а это значит, что надо вручную перелопатить десятки метров таблиц, что ешё сложнее, чем их первоначально создать.
Вот... начал рюхать VS2010. Ох... VB6.0 по сравнению с этим - просто игрушка. Но мне уже понравился сам интерфейс. Подсказки кругом. Атоисправления. Одно могу сказать VS2010 - это круто! Такого адаптированного ПО под пользователя я просто не видел. Такое ощущение, что сама среда разработки не только видит каждую малость в моих действиях, но и просчитывает как в шахматах мой следующий "ход конём"!
Получается. Но медленно пока. Начинаю с самых сложных кусков. Потому, что если они не пойдут, то остальное - мартышкин труд. Так что сначала поставил на форму кнопку и текстовое окошко. По нажатию кнопки в окошке появляется "Привет". После этого воскликнул - работает! Не зря всю ночь устанавливал! Потом попробовал записывать и читать текстовый файл. И сразу в дебри. Работа с базами данных. Причём, у меня несколько специфические использование баз данных. Просто я использую файлы .MDB для сохранения данных. Это удобно. Если использовать свой формат, то он будет очень сложным. А в MDB может храниться и хранится не только куча разных таблиц с данными,но и сама структура данных, то есть их межтабличная взаимосвязь. И доступ к ним не сложен. Просто SQL-запрос - и привет!
Вот пока неполный код формы, которая должна работать с двумя таблицами - списком этажей и списком помещений. В качестве элемента управления использовал "дерево", ну, то, что в обычном проводнике слева. Пока происходит открытие файла и заполнения дерева данными. Впрочем, я и переменные обзываю русскими названиями, так что код вполне читаем даже и не программистом.
- Код:
Public Class Form1
Private Этажи As DAO.Recordset
Private Помещения As DAO.Recordset
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Движок = New DAO.DBEngine
End Sub
Private Sub ОткрытьToolStripButton_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ОткрытьToolStripButton.Click
Dim openFileDialog1 As New OpenFileDialog()
openFileDialog1.Filter = "(*.mdb)|*.mdb"
openFileDialog1.FilterIndex = 1
openFileDialog1.RestoreDirectory = True
If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
Try
ИмяФийла = openFileDialog1.FileName
БазаДанных = Движок.OpenDatabase(ИмяФийла)
Catch Ex As Exception
MessageBox.Show("Ошибка открытия файла: " & Ex.Message)
End Try
Try
Этажи = БазаДанных.OpenRecordset("Select КОД_ЭТАЖА, Название, Порядок, Вывод From Этажи Order By Порядок;", 2)
Помещения = БазаДанных.OpenRecordset("Select * From Помещения", 2)
Catch Ex As Exception
MessageBox.Show("База данных не создана этой программой.")
End Try
If Помещения.RecordCount <> 0 Then
ToolStripDropDownButton1.Visible = True
Else
ToolStripDropDownButton1.Visible = False
End If
СоздатьToolStripButton.Enabled = False
ОткрытьToolStripButton.Enabled = False
СохранитьToolStripButton.Enabled = True
TreeView1.Visible = True
ToolStripTextBox1.Text = ИмяФийла
Panel1.Visible = True
Dim ND = TreeView1.Nodes.Add("Экспликация")
ND.Name = ND.Text
ND.ImageIndex = 0
'Заполнение дерева
Заполнение_дерева()
End If
End Sub
Private Sub СоздатьToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles СоздатьToolStripButton.Click
End Sub
Sub ReadExplication()
End Sub
Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click
End Sub
Private Sub СохранитьToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles СохранитьToolStripButton.Click
ToolStripDropDownButton1.Visible = False
СоздатьToolStripButton.Enabled = True
ОткрытьToolStripButton.Enabled = True
СохранитьToolStripButton.Enabled = False
TreeView1.Visible = False
ToolStripTextBox1.Text = ""
Помещения = Nothing
Этажи = Nothing
ИмяФийла = ""
БазаДанных = Nothing
Panel1.Visible = False
TreeView1.Nodes(0).Remove()
End Sub
Sub Заполнение_дерева()
If Этажи.RecordCount = 0 Then Exit Sub
Этажи.MoveFirst()
Do While Not Этажи.EOF
Dim ND = TreeView1.Nodes("Экспликация")
Dim NDch = ND.Nodes.Add(CStr(Этажи.Fields("Порядок").Value) & ": " & Chr(171) & Этажи.Fields("Название").Value & Chr(187))
With NDch
.Name = CStr(Этажи.Fields("КОД_ЭТАЖА").Value)
.Tag = "Этажи"
.ImageIndex = 1
.SelectedImageIndex() = 1
End With
Dim StrSQL = "SELECT DISTINCTROW Помещения.КОД_ПОМЕЩЕНИЯ, Помещения.КОД_ЭТАЖА, Помещения.Номер, Помещения.Название, Помещения.Площадь, Помещения.Кабинет FROM Помещения WHERE ((Помещения.КОД_ЭТАЖА=" & CStr(Этажи.Fields("КОД_ЭТАЖА").Value) & ")) ORDER BY Помещения.Номер;"
Помещения = БазаДанных.OpenRecordset(StrSQL, 2)
If Помещения.RecordCount <> 0 Then
Помещения.MoveFirst()
Do While Not Помещения.EOF
Dim NDch1 = NDch.Nodes.Add(CStr(Помещения.Fields("Номер").Value) & ": " & Помещения.Fields("Название").Value)
With NDch1
.Name = CStr(Помещения.Fields("КОД_ПОМЕЩЕНИЯ").Value)
.Tag = "Помещения"
.ImageIndex = 1
.SelectedImageIndex() = 1
End With
Помещения.MoveNext()
Loop
End If
Этажи.MoveNext()
Loop
End Sub
Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
End Sub
End Class
А вот так выглядит эта форма в своём рабочем состоянии:
Сергей- Властелин времени
- Сообщения : 1149
Дата регистрации : 2011-06-23
Возраст : 58
Откуда : Челябинск
Re: Хобби или любимые занятия
А вот и моя минибанковская программка на элементарных макросах в EXCELе:
Sub Auto_Open()
Sheets("ПАНЕЛЬ").Select
Application.Run Macro:="Craitonbank.xls!Get_Computer_Name"
КодОтвета = MsgBox _
("ДОМА РАБОТАЕШЬ ?", _
vbYesNo, _
"не спеши!")
If КодОтвета = 6 Then
Cells(13, 5).Value = "дом"
Else
Cells(13, 5).Value = "работа"
End If
прогресс = 1
Application.ScreenUpdating = False
открытие_файла = 1
Rows("9:9").Select
Selection.RowHeight = 0.1
Application.Run Macro:="Craitonbank.xls!выявление_некорректных_клиентов_из_листа_Д"
' Application.Run Macro:="Craitonbank.xls!скрыть_строки"
MsgBox _
"ПРОВЕРЬ КУРСЫ ВАЛЮТ !!!", , _
"это важно !"
If ошибка = 1 Then
Exit Sub
End If
Sheets("финансы").Select
a = ActiveCell.Row
If Cells(a, 1) = "" Then
a = 4
End If
For a = a To 65532
b = Cells(a, 1)
If b = "" Then
Exit For
End If
Next a
Cells(a, 1).Select
Sheets("ввод").Select
Range("A5").Select
Sheets("ПАНЕЛЬ").Select
Cells(2, 2) = ""
Cells(6, 3) = ""
Cells(16, 1) = ""
Cells(16, 2) = ""
Cells(16, 3) = ""
Cells(16, 4) = ""
Cells(21, 3) = Left((Now), 10) 'дома ставить 8 вместо 10, иначе- ОШИБКА!
Cells(22, 3).Value = Cells(21, 3)
Cells(26, 5).Value = 1
Calculate
Range("H2").Select
If ActiveCell = "ЗАМЕНИТЬ !" Then
Sheets("_заменить").Visible = True
Sheets("ПАНЕЛЬ").Select
' Application.ScreenUpdating = True
Range("H3").Select
Application.ScreenUpdating = False
Else
Rows("9:9").Select
Selection.Rows.AutoFit
Range("B2").Select
If ActiveCell = "ДУБЛИРОВАНИЕ СТРОК !" Then
Sheets("Д(полный)").Select
If Cells(13, 5) = "дом" Then
msg = "ПРОТРИ ГЛЯДЕЛКИ"
Else
msg = "ЧУДИК"
End If
MsgBox _
msg _
& ", У ТЕБЯ СТРОКИ ДУБЛИРОВАНЫ ! ", , _
"УБРАТЬ ДУБЛИРОВАНИЕ !!!"
Else
If ActiveCell = "ПОЛУДУБЛИРОВАНИЕ !" Then
Sheets("Д(полный)").Select
If Cells(13, 5) = "дом" Then
msg = "ПРОТРИ ГЛЯДЕЛКИ"
Else
msg = "ЧУДИК"
End If
MsgBox _
msg _
& ", У ТЕБЯ СТРОКИ ПОЛУДУБЛИРОВАНЫ ! ", , _
"УБРАТЬ ПОЛУДУБЛИРОВАНИЕ !!!"
End If
If Cells(20, 5) = 16 Then
ошибка = 1
Sheets("подпрограммы_").Visible = True
If Cells(13, 5) = "дом" Then
msg = "ПРИДУРОК"
Else
msg = "ЧУДИЛА"
End If
MsgBox _
msg _
& ", найди строку:" _
& Chr(13) _
& "''дома ставить 8 вместо 10 , иначе- ОШИБКА''" _
& Chr(13) _
& "и ЗАМЕНИ 8 на 10 !!!"
Cells(21, 3) = "ОШИБКА!"
Cells(22, 3) = "ОШИБКА!"
Range("A30").Select
Application.Goto Reference:="прикидка"
Range("A30").Select
Exit Sub
End If
Range("A1").Select
End If
End If
Application.ScreenUpdating = False
' Sheets("шаблоны").Select
' For a_1 = 1 To 200
' If Date = Cells(a_1, 1) _
' And Now - Date > 0.54 _
' And Now - Date < 0.66 Then
' Sheets("ПАНЕЛЬ").Select
' MsgBox _
' "НЕ ЗАБУДЬ, НАЧАЛЬНИК !" _
' & Chr(13) _
' & "СЕГОДНЯ КОРОТКИЙ ДЕНЬ !!!", , _
' "НЕ ПРОСПИ ОКОНЧАНИЕ РАБОТЫ !!!"
' Cells(5, .Value = "пятница"
' Exit For
' Else
' If Cells(a_1, 1) = "" Then
' Sheets("ПАНЕЛЬ").Select
' Cells(5, .Value = ""
' Exit For
' End If
' End If
' Next a_1
Application.ScreenUpdating = True
End Sub
'
Sub удалить_клиента_из_банка()
a = 0
Windows("Craitonbank.xls").Activate
Sheets("ПАНЕЛЬ").Select
Application.ScreenUpdating = False
Sheets("финансы").Select
a = ActiveCell.Row
If a < 2 Then
a = 3
End If
Cells(a, 1).Select
If ActiveCell = "" Then
For a = a To 1 Step -1
If Cells(a, 1) <> "" Then
Cells(a, 1).Select
Exit For
End If
Next a
End If
If ActiveCell <> "" Then
For a = a To 65530
If Cells(a, 1) = "" Then
Cells(a, 1).Select
Exit For
End If
Next a
End If
' Stop
If (Cells(a - 1, 3) + Cells(a - 1, 4)) - _
(Cells(a - 3, 3) + Cells(a - 3, 4)) <> 0 Then
Sheets("Д(полный)").Select
Application.Run Macro:="Craitonbank.xls!подпрограмма_3"
' Stop
Cells(ActiveCell.Row - 1, 1).Select
a = ActiveCell.Row
таб_№ = Cells(a, 1)
фамилия = Cells(a, 2)
дата = Cells(a,
формат_суммы = Cells(a, 11)
примечание = Cells(a, 12)
a = a - 1
For a = a To 3 Step -1
If таб_№ = Cells(a, 1) _
And фамилия = Cells(a, 2) _
And формат_суммы = Cells(a, 11) Then
сумма = Cells(a, 3)
примечание = Cells(a, 12)
Exit For
End If
Next a
Sheets("Д").Select
If формат_суммы = "рубли" Then
Application.Goto Reference:="рубли"
Else
Application.Goto Reference:="баксы"
End If
a = ActiveCell.Row
For a = a To 65532
If Cells(a, 1) = таб_№ _
And Cells(a, 2) = фамилия Then
Cells(a, 1).Select
If Cells(1, 12) <> Cells(a, 1) _
Or Cells(1, 2) <> Cells(a, 2) _
Or Cells(1, 3) <> формат_суммы _
Or Cells(1, 6) <> Cells(a, 12) Then
КодОтвета = MsgBox _
("Данные оформления клиента не совпадают." _
& Chr(13) _
& "Если отменяешь операцию, жми - ''ДА''" _
& Chr(13) _
& "если продолжаешь, то жми - ''НЕТ''", _
vbYesNo, _
"не спеши!!!")
If КодОтвета = 6 Then
Application.Run Macro:="Craitonbank.xls!скрыть_строки"
Exit Sub
End If
End If
КодОтвета = MsgBox _
(" УДАЛЯЕШЬ КЛИЕНТА ?" _
& Chr(13) _
& "Если удаляешь клиента, жми - ''ДА''" _
& Chr(13) _
& "если отменяешь удаление то, жми - ''НЕТ''", _
vbYesNo, _
"не спеши!!!")
If КодОтвета = 7 Then
Application.Run Macro:="'Craitonbank.xls'!скрыть_строки"
Exit Sub
End If
Stop
Exit Sub
Selection.Rows.AutoFit
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
Cells(1, 7).Select
Selection.Copy
ActiveCell.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("Д(полный)").Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Rows.AutoFit
Selection.Delete Shift:=xlUp
Cells(1, 3).Value = Cells(1, 2)
Exit For
End If
If Cells(a, 2) = "" _
And Cells(1, 6) = "полный возврат" _
And сумма = 0 Then
КодОтвета = MsgBox _
("УДАЛЯЕШЬ КЛИЕНТА ТОЛЬКО ИЗ АРХИВА ?" _
& Chr(13) _
& "Если удаляешь клиента, жми - ''ДА''" _
& Chr(13) _
& "если отменяешь удаление, то жми - ''НЕТ''", _
vbYesNo, _
"не спеши!!!")
If КодОтвета = 6 Then
Sheets("Д(полный)").Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Rows.AutoFit
Selection.Delete Shift:=xlUp
Cells(1, 3).Value = Cells(1, 2)
MsgBox _
"клиент: " _
& фамилия _
& ", таб.№: " _
& таб_№ _
& Chr(13) _
& "оформлением от " _
& дата _
& Chr(13) _
& " УДАЛЁН ИЗ АРХИВА БАНКА !!!"
Application.ScreenUpdating = True
Sheets("ПАНЕЛЬ").Select
Application.Run Macro:="'Craitonbank.xls'!скрыть_строки"
Exit Sub
End If
End If
Next a
Application.Run Macro:="Craitonbank.xls!скрыть_строки"
MsgBox _
"клиент: " _
& фамилия _
& ", таб.№: " _
& таб_№ _
& Chr(13) _
& "оформлением от " _
& дата _
& Chr(13) _
& " УДАЛЁН ИЗ БАНКА !!!"
End If
Application.ScreenUpdating = True
Sheets("ПАНЕЛЬ").Select
Range("A1").Select
End Sub
'
Sub выявление_некорректных_клиентов_из_листа_Д()
Windows("Craitonbank.xls").Activate
Application.ScreenUpdating = False
Sheets("Д(полный)").Select
Application.Run Macro:="Craitonbank.xls!подпрограмма_3"
a = ActiveCell.Row - 1
Sheets("Д").Select
Application.Goto Reference:="баксы"
c = 4
формат_суммы = "рубли"
For b = c To 10000
If Cells(b, 2) = "ЯЯ" _
And Cells(b + 1, 2) = "А" Then
' MsgBox _
"ПИЗДЕЦ ДИАПАЗОНУ !!!"
формат_суммы = "баксы"
Application.Goto Reference:="баксы"
c = ActiveCell.Row
b = c
Else
If Cells(b, 2) = "ЯЯ" _
And Cells(b + 1, 2) = "" Then
' MsgBox _
"КАПЕЦ ВСЕМУ !!!"
Exit For
End If
таб_№ = Cells(b, 1)
фамилия = Cells(b, 2)
примечание = Cells(b, 12) '____лист "Д"
' MsgBox Cells(b, 2) _
& Chr(13) _
& "в листе ''Д''" '____лист "Д"
Sheets("Д(полный)").Select
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' If фамилия = "Никонов А.А." Then
' MsgBox _
"ЧУДИЛА, АХТУНГ, АХТУНГ!!!"
' Stop
' End If
For e = a To 1 Step -1
' If Cells(e, 2).Row = 595 Then
' MsgBox _
"ЧУДИЛА, АХТУНГ, АХТУНГ!!!"
' Stop
' End If
If e = 2 Then
Sheets("Д").Select
' MsgBox _
"ЧУДИЛА!!!"
If Cells(b, 1) <> "" Then
Cells(b, 1).Select
Selection.Rows.AutoFit
ActiveCell.Rows("1:1").EntireRow.Select
КодОтвета = MsgBox _
("ЧУДИЛА, УДАЛЯЮ НЕКОРРЕКТНОГО КЛИЕНТА:" _
& Chr(13) _
& Chr(13) _
& фамилия _
& " таб.№: " _
& таб_№ _
& Chr(13) _
& примечание _
& Chr(13) _
& Chr(13) _
& "УДАЛЯТЬ ИЗ ЗАП.КНИЖКИ ?", _
vbYesNo, _
"не спеши, подумай.")
If КодОтвета = 6 Then
Selection.EntireRow.Delete
Application.Run Macro:="'Craitonbank.xls'!фиксация"
Else
b = 10002
End If
b = b - 1
End If
Exit For
End If
' Stop
If Cells(e, 1) = таб_№ _
And Cells(e, 2) = фамилия _
And Cells(e, 11) = формат_суммы _
And Cells(e, 12) = примечание Then
' MsgBox _
Cells(e, 2) _
& Chr(13) _
& "в листе ''Д(полный)''" '____лист "Д(полный)"
Sheets("Д").Select
Exit For
End If
Next e
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End If
Next b
Cells(1, 3).Value = Cells(1, 2)
Application.Run Macro:="Craitonbank.xls!скрыть_строки"
' Application.ScreenUpdating = True
End Sub
'
Sub проверка_на_дублирование()
Windows("Craitonbank.xls").Activate
Sheets("ПАНЕЛЬ").Select
Application.ScreenUpdating = False
Sheets("Д(полный)").Select
Cells.Select
Selection.Rows.AutoFit
ActiveCell.SpecialCells(xlLastCell).Select
Range("A3").Select
ActiveCell.Rows("1:65534").EntireRow.Select
Selection.Sort Key1:=ActiveCell.Offset(0, 7).Range("A1"), Order1:= _
xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False _
, Orientation:=xlTopToBottom
дублированные_ячейки = 0
адреса_строк_дублированных_ячеек = ""
Sheets("Д(полный)").Select
a = 3
Cells.Select
Selection.Rows.AutoFit
ActiveCell.SpecialCells(xlLastCell).Select
Range("A3").Select
ActiveCell.Rows("1:65534").EntireRow.Select
Selection.Sort Key1:=ActiveCell.Offset(0, 7).Range("A1"), Order1:= _
xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False _
, Orientation:=xlTopToBottom
For a = 3 To 65536
If Cells(a, 1) = "" Then
Exit For
End If
Next a
разница_прогресс = Cells(a, 1).Row
Cells.Select
Selection.RowHeight = 0.1
a = 3
For a = a To 65532
t = a
дисплей.Show
If Cells(a, + Cells(a + 1, = 0 _
And Cells(a, - Cells(a + 1, = 0 Then 'выход на конец списка
If дублированные_ячейки <> 0 Then
Application.ScreenUpdating = True
If Cells(13, 5) = "дом" Then
msg = "ПРИДУРОК"
Else
msg = "ЧУДИЛА"
End If
MsgBox _
msg _
& ", обнаружены дублированные строки в кол: " _
& дублированные_ячейки _
& " пар"
'
MsgBox _
"АДРЕСА : " _
& адреса_строк_дублированных_ячеек, , _
"смотри в банке лист ''Д(полный)''"
Exit Sub
End If
Range("A3").Select
Sheets("ПАНЕЛЬ").Select
Range("A1").Select
Exit For
End If
If Cells(a, + Cells(a + 1, <> 0 _
And Cells(a, - Cells(a + 1, = 0 Then
Cells(a, .Select
Selection.Rows.AutoFit
Selection.Font.ColorIndex = 3
Cells(a + 1, .Select
Selection.Font.ColorIndex = 3
a_1 = a + 1
лист = ActiveSheet.Name
дублированные_ячейки = дублированные_ячейки + 1
адреса_строк_дублированных_ячеек = лист & ": " & a & "+ " & a_1 _
& ", " & адреса_строк_дублированных_ячеек
Selection.Rows.AutoFit
Selection.Font.ColorIndex = 3
Sheets("ПАНЕЛЬ").Select
Range("B2").Select
ActiveCell.Value = "ДУБЛИРОВАНИЕ СТРОК !"
Range("B2").Select
Sheets("Д(полный)").Select
End If
Next a
If дублированные_ячейки = 0 Then
Application.Run Macro:="Craitonbank.xls!поиск_полудублирования"
End If
End Sub
'
Sub поиск_полудублирования()
Dim исправить()
ReDim глушня(GK)
Dim строка
адреса_ошибок = ""
ошибочные_ячейки = 0
s = 100
Application.ScreenUpdating = False
Sheets("Д(полный)").Select
Cells.Select
Selection.Rows.AutoFit
ActiveCell.SpecialCells(xlLastCell).Select
Range("A3").Select
ActiveCell.Rows("1:65534").EntireRow.Select
Selection.Sort Key1:=ActiveCell.Offset(0, 7).Range("A1"), Order1:= _
xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False _
, Orientation:=xlTopToBottom
Cells.Select
Selection.RowHeight = 0.1
For a = 3 To 65536
If Cells(a, 1) = "" Then
Exit For
End If
Next a
разница_прогресс = Cells(a, 1).Row
For c = 3 To 65532
t = c
If открытие_файла = 1 Then
дисплей.Show
End If
a = c + 1
b = c
For a = a To 65537
If Int(Cells(a, ) - Int(Cells(b, ) <> 0 Then
Exit For
End If
If Cells(a, 1) - Cells(b, 1) = 0 _
And Cells(a, 9) = Cells(b, 9) _
And Cells(a, 11) = Cells(b, 11) _
And Cells(a, 12) <> "реструктуризация долга." _
And Cells(b, 12) <> "реструктуризация долга." _
And Cells(a, 12) = Cells(b, 12) Then
полудублирование = 1
If Cells(a, 9) <> "переброс" And Cells(b, 9) <> "переброс" Then
If Cells(a, 9) > 0 _
And Cells(a, 3) - Cells(a, 9) <> Cells(b, 3) _
Or Cells(a, 9) < 0 _
And Cells(a, 10) + Cells(a, 9) <> Cells(b, 3) Then
полудубль = Cells(a, 1) & Cells(a, 2) & Cells(a, _
& Cells(a, 10) & Cells(a, 11) & Cells(a, 12)
Sheets("неполудублированные клиенты").Visible = True
Sheets("неполудублированные клиенты").Select
For j = 2 To 65530
If полудубль <> Cells(j, 1) _
& Cells(j, 2) & Cells(j, & Cells(j, 10) _
& Cells(j, 11) & Cells(j, 12) Then
полудублирование = 1
Else
полудублирование = 0
Sheets("неполудублированные клиенты").Visible = False
Sheets("Д(полный)").Select
Exit For
End If
If Cells(j, 1) = "" Then
Sheets("неполудублированные клиенты").Visible = False
Sheets("Д(полный)").Select
Exit For
End If
Next j
Else
b = b + 1
c = b
полудублирование = 0
End If
End If
Else
полудублирование = 0 '$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$4
End If
If полудублирование = 1 Then
If Cells(a, = Cells(b, Then
MsgBox _
"УБРАТЬ ПОЛУДУБЛИРОВАНИЕ !", , _
"УБРАТЬ ОШИБКУ !!!"
Application.Run Macro:="Craitonbank.xls!проверка_на_дублирование"
' Exit Sub
End If
Cells(b, 13).Select
Cells(b, 13).Value = "проверить!"
Selection.Rows.AutoFit
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Font.ColorIndex = 5
Cells(b, 13).Font.Bold = True
Cells(a, 13).Select
Cells(a, 13).Value = "проверить!"
Selection.Rows.AutoFit
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Font.ColorIndex = 5
Cells(a, 13).Font.Bold = True
Cells(a, 13).Select
a_1 = a
b_1 = b
ошибочные_ячейки = ошибочные_ячейки + 1
адреса_ошибок = a_1 & "+ " & b_1 _
& ", " & адреса_ошибок
длина = Len(адреса_ошибок)
End If
сравнить_1 = сравнить
сравнить = InStr(адреса_ошибок, строка)
If длина > s Then
длина_2 = длина_1 + длина_2
длина_1 = длина - длина_2
строка = Left(адреса_ошибок, длина_1) 'от начала строки
s = s + 100
глушня(UBound(глушня)) = строка
ReDim Preserve глушня(UBound(глушня) + 1)
адреса_ошибок = адреса_ошибок_a & адреса_ошибок
End If
If Cells(b, 1) = "" Then
Exit For
End If
Next a
If Cells(b, 1) = "" Then
Exit For
End If
Next c
'If Cells(a, 13) = "проверить!" And ошибочные_ячейки = "" Then
'ошибочные_ячейки = 1
'End If
строка_1 = строка
If сравнить <> 0 Then
If сравнить > 2 Then
строка = Left(адреса_ошибок, сравнить - 2) & "."
Else
строка = Left(адреса_ошибок, длина - 1) & "."
End If
строка_1 = Left(строка_1, длина - 1)
строка_2 = Left(строка, длина - 1)
сравнить = InStr(строка_1, строка_2)
If сравнить = 1 Then
глушня(UBound(глушня)) = строка
ReDim Preserve глушня(UBound(глушня) - 1)
End If
глушня(UBound(глушня)) = строка
ReDim Preserve глушня(UBound(глушня) + 1)
End If
If ошибочные_ячейки <> 0 Then
Application.ScreenUpdating = True
КодОтвета = MsgBox _
("(ЗАПИСАТЬ АДРЕСА ОШИБОК НА ОТДЕЛЬНЫЙ ЛИСТ ?)", _
vbYesNo, _
"ЧУДИЛА, обнаружены ошибки в кол. " _
& ошибочные_ячейки _
& " шт. по адресам :")
For Each адреса_ошибок_a In глушня
If адреса_ошибок_a <> False Then MsgBox "№№ ошибочных строк: " _
& адреса_ошибок_a, , _
"смотри в банке лист ''Д(полный)''"
Next
If КодОтвета = 6 Then
a = 0
Sheets.Add
NewSheetName = ActiveSheet.Name
Sheets(NewSheetName).Name = "адреса ошибок"
For Each адреса_ошибок_a In глушня
a = a + 1
Cells(a, 1).Value = адреса_ошибок_a
Next
End If
Sheets("ПАНЕЛЬ").Select
Range("B2").Select
ActiveCell.Value = "ПОЛУДУБЛИРОВАНИЕ !"
Range("B2").Select
Sheets("Д(полный)").Select
Else
If открытие_файла <> 1 Then
Range("A1").Select
Sheets("ПАНЕЛЬ").Select
Range("A1").Select
MsgBox _
"В ''CRAITONbanke'' ВСЁ ПУТЁМ, ЗЕМЕЛЯ !", , _
"ЯВОЛЬ !!!"
End If
End If
End Sub
'
Sub окно()
Sheets("Д").Select
Sheets("ПАНЕЛЬ").Select
End Sub
Всё не уместилось, к сожалению...
Sub Auto_Open()
Sheets("ПАНЕЛЬ").Select
Application.Run Macro:="Craitonbank.xls!Get_Computer_Name"
КодОтвета = MsgBox _
("ДОМА РАБОТАЕШЬ ?", _
vbYesNo, _
"не спеши!")
If КодОтвета = 6 Then
Cells(13, 5).Value = "дом"
Else
Cells(13, 5).Value = "работа"
End If
прогресс = 1
Application.ScreenUpdating = False
открытие_файла = 1
Rows("9:9").Select
Selection.RowHeight = 0.1
Application.Run Macro:="Craitonbank.xls!выявление_некорректных_клиентов_из_листа_Д"
' Application.Run Macro:="Craitonbank.xls!скрыть_строки"
MsgBox _
"ПРОВЕРЬ КУРСЫ ВАЛЮТ !!!", , _
"это важно !"
If ошибка = 1 Then
Exit Sub
End If
Sheets("финансы").Select
a = ActiveCell.Row
If Cells(a, 1) = "" Then
a = 4
End If
For a = a To 65532
b = Cells(a, 1)
If b = "" Then
Exit For
End If
Next a
Cells(a, 1).Select
Sheets("ввод").Select
Range("A5").Select
Sheets("ПАНЕЛЬ").Select
Cells(2, 2) = ""
Cells(6, 3) = ""
Cells(16, 1) = ""
Cells(16, 2) = ""
Cells(16, 3) = ""
Cells(16, 4) = ""
Cells(21, 3) = Left((Now), 10) 'дома ставить 8 вместо 10, иначе- ОШИБКА!
Cells(22, 3).Value = Cells(21, 3)
Cells(26, 5).Value = 1
Calculate
Range("H2").Select
If ActiveCell = "ЗАМЕНИТЬ !" Then
Sheets("_заменить").Visible = True
Sheets("ПАНЕЛЬ").Select
' Application.ScreenUpdating = True
Range("H3").Select
Application.ScreenUpdating = False
Else
Rows("9:9").Select
Selection.Rows.AutoFit
Range("B2").Select
If ActiveCell = "ДУБЛИРОВАНИЕ СТРОК !" Then
Sheets("Д(полный)").Select
If Cells(13, 5) = "дом" Then
msg = "ПРОТРИ ГЛЯДЕЛКИ"
Else
msg = "ЧУДИК"
End If
MsgBox _
msg _
& ", У ТЕБЯ СТРОКИ ДУБЛИРОВАНЫ ! ", , _
"УБРАТЬ ДУБЛИРОВАНИЕ !!!"
Else
If ActiveCell = "ПОЛУДУБЛИРОВАНИЕ !" Then
Sheets("Д(полный)").Select
If Cells(13, 5) = "дом" Then
msg = "ПРОТРИ ГЛЯДЕЛКИ"
Else
msg = "ЧУДИК"
End If
MsgBox _
msg _
& ", У ТЕБЯ СТРОКИ ПОЛУДУБЛИРОВАНЫ ! ", , _
"УБРАТЬ ПОЛУДУБЛИРОВАНИЕ !!!"
End If
If Cells(20, 5) = 16 Then
ошибка = 1
Sheets("подпрограммы_").Visible = True
If Cells(13, 5) = "дом" Then
msg = "ПРИДУРОК"
Else
msg = "ЧУДИЛА"
End If
MsgBox _
msg _
& ", найди строку:" _
& Chr(13) _
& "''дома ставить 8 вместо 10 , иначе- ОШИБКА''" _
& Chr(13) _
& "и ЗАМЕНИ 8 на 10 !!!"
Cells(21, 3) = "ОШИБКА!"
Cells(22, 3) = "ОШИБКА!"
Range("A30").Select
Application.Goto Reference:="прикидка"
Range("A30").Select
Exit Sub
End If
Range("A1").Select
End If
End If
Application.ScreenUpdating = False
' Sheets("шаблоны").Select
' For a_1 = 1 To 200
' If Date = Cells(a_1, 1) _
' And Now - Date > 0.54 _
' And Now - Date < 0.66 Then
' Sheets("ПАНЕЛЬ").Select
' MsgBox _
' "НЕ ЗАБУДЬ, НАЧАЛЬНИК !" _
' & Chr(13) _
' & "СЕГОДНЯ КОРОТКИЙ ДЕНЬ !!!", , _
' "НЕ ПРОСПИ ОКОНЧАНИЕ РАБОТЫ !!!"
' Cells(5, .Value = "пятница"
' Exit For
' Else
' If Cells(a_1, 1) = "" Then
' Sheets("ПАНЕЛЬ").Select
' Cells(5, .Value = ""
' Exit For
' End If
' End If
' Next a_1
Application.ScreenUpdating = True
End Sub
'
Sub удалить_клиента_из_банка()
a = 0
Windows("Craitonbank.xls").Activate
Sheets("ПАНЕЛЬ").Select
Application.ScreenUpdating = False
Sheets("финансы").Select
a = ActiveCell.Row
If a < 2 Then
a = 3
End If
Cells(a, 1).Select
If ActiveCell = "" Then
For a = a To 1 Step -1
If Cells(a, 1) <> "" Then
Cells(a, 1).Select
Exit For
End If
Next a
End If
If ActiveCell <> "" Then
For a = a To 65530
If Cells(a, 1) = "" Then
Cells(a, 1).Select
Exit For
End If
Next a
End If
' Stop
If (Cells(a - 1, 3) + Cells(a - 1, 4)) - _
(Cells(a - 3, 3) + Cells(a - 3, 4)) <> 0 Then
Sheets("Д(полный)").Select
Application.Run Macro:="Craitonbank.xls!подпрограмма_3"
' Stop
Cells(ActiveCell.Row - 1, 1).Select
a = ActiveCell.Row
таб_№ = Cells(a, 1)
фамилия = Cells(a, 2)
дата = Cells(a,
формат_суммы = Cells(a, 11)
примечание = Cells(a, 12)
a = a - 1
For a = a To 3 Step -1
If таб_№ = Cells(a, 1) _
And фамилия = Cells(a, 2) _
And формат_суммы = Cells(a, 11) Then
сумма = Cells(a, 3)
примечание = Cells(a, 12)
Exit For
End If
Next a
Sheets("Д").Select
If формат_суммы = "рубли" Then
Application.Goto Reference:="рубли"
Else
Application.Goto Reference:="баксы"
End If
a = ActiveCell.Row
For a = a To 65532
If Cells(a, 1) = таб_№ _
And Cells(a, 2) = фамилия Then
Cells(a, 1).Select
If Cells(1, 12) <> Cells(a, 1) _
Or Cells(1, 2) <> Cells(a, 2) _
Or Cells(1, 3) <> формат_суммы _
Or Cells(1, 6) <> Cells(a, 12) Then
КодОтвета = MsgBox _
("Данные оформления клиента не совпадают." _
& Chr(13) _
& "Если отменяешь операцию, жми - ''ДА''" _
& Chr(13) _
& "если продолжаешь, то жми - ''НЕТ''", _
vbYesNo, _
"не спеши!!!")
If КодОтвета = 6 Then
Application.Run Macro:="Craitonbank.xls!скрыть_строки"
Exit Sub
End If
End If
КодОтвета = MsgBox _
(" УДАЛЯЕШЬ КЛИЕНТА ?" _
& Chr(13) _
& "Если удаляешь клиента, жми - ''ДА''" _
& Chr(13) _
& "если отменяешь удаление то, жми - ''НЕТ''", _
vbYesNo, _
"не спеши!!!")
If КодОтвета = 7 Then
Application.Run Macro:="'Craitonbank.xls'!скрыть_строки"
Exit Sub
End If
Stop
Exit Sub
Selection.Rows.AutoFit
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
Cells(1, 7).Select
Selection.Copy
ActiveCell.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("Д(полный)").Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Rows.AutoFit
Selection.Delete Shift:=xlUp
Cells(1, 3).Value = Cells(1, 2)
Exit For
End If
If Cells(a, 2) = "" _
And Cells(1, 6) = "полный возврат" _
And сумма = 0 Then
КодОтвета = MsgBox _
("УДАЛЯЕШЬ КЛИЕНТА ТОЛЬКО ИЗ АРХИВА ?" _
& Chr(13) _
& "Если удаляешь клиента, жми - ''ДА''" _
& Chr(13) _
& "если отменяешь удаление, то жми - ''НЕТ''", _
vbYesNo, _
"не спеши!!!")
If КодОтвета = 6 Then
Sheets("Д(полный)").Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Rows.AutoFit
Selection.Delete Shift:=xlUp
Cells(1, 3).Value = Cells(1, 2)
MsgBox _
"клиент: " _
& фамилия _
& ", таб.№: " _
& таб_№ _
& Chr(13) _
& "оформлением от " _
& дата _
& Chr(13) _
& " УДАЛЁН ИЗ АРХИВА БАНКА !!!"
Application.ScreenUpdating = True
Sheets("ПАНЕЛЬ").Select
Application.Run Macro:="'Craitonbank.xls'!скрыть_строки"
Exit Sub
End If
End If
Next a
Application.Run Macro:="Craitonbank.xls!скрыть_строки"
MsgBox _
"клиент: " _
& фамилия _
& ", таб.№: " _
& таб_№ _
& Chr(13) _
& "оформлением от " _
& дата _
& Chr(13) _
& " УДАЛЁН ИЗ БАНКА !!!"
End If
Application.ScreenUpdating = True
Sheets("ПАНЕЛЬ").Select
Range("A1").Select
End Sub
'
Sub выявление_некорректных_клиентов_из_листа_Д()
Windows("Craitonbank.xls").Activate
Application.ScreenUpdating = False
Sheets("Д(полный)").Select
Application.Run Macro:="Craitonbank.xls!подпрограмма_3"
a = ActiveCell.Row - 1
Sheets("Д").Select
Application.Goto Reference:="баксы"
c = 4
формат_суммы = "рубли"
For b = c To 10000
If Cells(b, 2) = "ЯЯ" _
And Cells(b + 1, 2) = "А" Then
' MsgBox _
"ПИЗДЕЦ ДИАПАЗОНУ !!!"
формат_суммы = "баксы"
Application.Goto Reference:="баксы"
c = ActiveCell.Row
b = c
Else
If Cells(b, 2) = "ЯЯ" _
And Cells(b + 1, 2) = "" Then
' MsgBox _
"КАПЕЦ ВСЕМУ !!!"
Exit For
End If
таб_№ = Cells(b, 1)
фамилия = Cells(b, 2)
примечание = Cells(b, 12) '____лист "Д"
' MsgBox Cells(b, 2) _
& Chr(13) _
& "в листе ''Д''" '____лист "Д"
Sheets("Д(полный)").Select
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' If фамилия = "Никонов А.А." Then
' MsgBox _
"ЧУДИЛА, АХТУНГ, АХТУНГ!!!"
' Stop
' End If
For e = a To 1 Step -1
' If Cells(e, 2).Row = 595 Then
' MsgBox _
"ЧУДИЛА, АХТУНГ, АХТУНГ!!!"
' Stop
' End If
If e = 2 Then
Sheets("Д").Select
' MsgBox _
"ЧУДИЛА!!!"
If Cells(b, 1) <> "" Then
Cells(b, 1).Select
Selection.Rows.AutoFit
ActiveCell.Rows("1:1").EntireRow.Select
КодОтвета = MsgBox _
("ЧУДИЛА, УДАЛЯЮ НЕКОРРЕКТНОГО КЛИЕНТА:" _
& Chr(13) _
& Chr(13) _
& фамилия _
& " таб.№: " _
& таб_№ _
& Chr(13) _
& примечание _
& Chr(13) _
& Chr(13) _
& "УДАЛЯТЬ ИЗ ЗАП.КНИЖКИ ?", _
vbYesNo, _
"не спеши, подумай.")
If КодОтвета = 6 Then
Selection.EntireRow.Delete
Application.Run Macro:="'Craitonbank.xls'!фиксация"
Else
b = 10002
End If
b = b - 1
End If
Exit For
End If
' Stop
If Cells(e, 1) = таб_№ _
And Cells(e, 2) = фамилия _
And Cells(e, 11) = формат_суммы _
And Cells(e, 12) = примечание Then
' MsgBox _
Cells(e, 2) _
& Chr(13) _
& "в листе ''Д(полный)''" '____лист "Д(полный)"
Sheets("Д").Select
Exit For
End If
Next e
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End If
Next b
Cells(1, 3).Value = Cells(1, 2)
Application.Run Macro:="Craitonbank.xls!скрыть_строки"
' Application.ScreenUpdating = True
End Sub
'
Sub проверка_на_дублирование()
Windows("Craitonbank.xls").Activate
Sheets("ПАНЕЛЬ").Select
Application.ScreenUpdating = False
Sheets("Д(полный)").Select
Cells.Select
Selection.Rows.AutoFit
ActiveCell.SpecialCells(xlLastCell).Select
Range("A3").Select
ActiveCell.Rows("1:65534").EntireRow.Select
Selection.Sort Key1:=ActiveCell.Offset(0, 7).Range("A1"), Order1:= _
xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False _
, Orientation:=xlTopToBottom
дублированные_ячейки = 0
адреса_строк_дублированных_ячеек = ""
Sheets("Д(полный)").Select
a = 3
Cells.Select
Selection.Rows.AutoFit
ActiveCell.SpecialCells(xlLastCell).Select
Range("A3").Select
ActiveCell.Rows("1:65534").EntireRow.Select
Selection.Sort Key1:=ActiveCell.Offset(0, 7).Range("A1"), Order1:= _
xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False _
, Orientation:=xlTopToBottom
For a = 3 To 65536
If Cells(a, 1) = "" Then
Exit For
End If
Next a
разница_прогресс = Cells(a, 1).Row
Cells.Select
Selection.RowHeight = 0.1
a = 3
For a = a To 65532
t = a
дисплей.Show
If Cells(a, + Cells(a + 1, = 0 _
And Cells(a, - Cells(a + 1, = 0 Then 'выход на конец списка
If дублированные_ячейки <> 0 Then
Application.ScreenUpdating = True
If Cells(13, 5) = "дом" Then
msg = "ПРИДУРОК"
Else
msg = "ЧУДИЛА"
End If
MsgBox _
msg _
& ", обнаружены дублированные строки в кол: " _
& дублированные_ячейки _
& " пар"
'
MsgBox _
"АДРЕСА : " _
& адреса_строк_дублированных_ячеек, , _
"смотри в банке лист ''Д(полный)''"
Exit Sub
End If
Range("A3").Select
Sheets("ПАНЕЛЬ").Select
Range("A1").Select
Exit For
End If
If Cells(a, + Cells(a + 1, <> 0 _
And Cells(a, - Cells(a + 1, = 0 Then
Cells(a, .Select
Selection.Rows.AutoFit
Selection.Font.ColorIndex = 3
Cells(a + 1, .Select
Selection.Font.ColorIndex = 3
a_1 = a + 1
лист = ActiveSheet.Name
дублированные_ячейки = дублированные_ячейки + 1
адреса_строк_дублированных_ячеек = лист & ": " & a & "+ " & a_1 _
& ", " & адреса_строк_дублированных_ячеек
Selection.Rows.AutoFit
Selection.Font.ColorIndex = 3
Sheets("ПАНЕЛЬ").Select
Range("B2").Select
ActiveCell.Value = "ДУБЛИРОВАНИЕ СТРОК !"
Range("B2").Select
Sheets("Д(полный)").Select
End If
Next a
If дублированные_ячейки = 0 Then
Application.Run Macro:="Craitonbank.xls!поиск_полудублирования"
End If
End Sub
'
Sub поиск_полудублирования()
Dim исправить()
ReDim глушня(GK)
Dim строка
адреса_ошибок = ""
ошибочные_ячейки = 0
s = 100
Application.ScreenUpdating = False
Sheets("Д(полный)").Select
Cells.Select
Selection.Rows.AutoFit
ActiveCell.SpecialCells(xlLastCell).Select
Range("A3").Select
ActiveCell.Rows("1:65534").EntireRow.Select
Selection.Sort Key1:=ActiveCell.Offset(0, 7).Range("A1"), Order1:= _
xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False _
, Orientation:=xlTopToBottom
Cells.Select
Selection.RowHeight = 0.1
For a = 3 To 65536
If Cells(a, 1) = "" Then
Exit For
End If
Next a
разница_прогресс = Cells(a, 1).Row
For c = 3 To 65532
t = c
If открытие_файла = 1 Then
дисплей.Show
End If
a = c + 1
b = c
For a = a To 65537
If Int(Cells(a, ) - Int(Cells(b, ) <> 0 Then
Exit For
End If
If Cells(a, 1) - Cells(b, 1) = 0 _
And Cells(a, 9) = Cells(b, 9) _
And Cells(a, 11) = Cells(b, 11) _
And Cells(a, 12) <> "реструктуризация долга." _
And Cells(b, 12) <> "реструктуризация долга." _
And Cells(a, 12) = Cells(b, 12) Then
полудублирование = 1
If Cells(a, 9) <> "переброс" And Cells(b, 9) <> "переброс" Then
If Cells(a, 9) > 0 _
And Cells(a, 3) - Cells(a, 9) <> Cells(b, 3) _
Or Cells(a, 9) < 0 _
And Cells(a, 10) + Cells(a, 9) <> Cells(b, 3) Then
полудубль = Cells(a, 1) & Cells(a, 2) & Cells(a, _
& Cells(a, 10) & Cells(a, 11) & Cells(a, 12)
Sheets("неполудублированные клиенты").Visible = True
Sheets("неполудублированные клиенты").Select
For j = 2 To 65530
If полудубль <> Cells(j, 1) _
& Cells(j, 2) & Cells(j, & Cells(j, 10) _
& Cells(j, 11) & Cells(j, 12) Then
полудублирование = 1
Else
полудублирование = 0
Sheets("неполудублированные клиенты").Visible = False
Sheets("Д(полный)").Select
Exit For
End If
If Cells(j, 1) = "" Then
Sheets("неполудублированные клиенты").Visible = False
Sheets("Д(полный)").Select
Exit For
End If
Next j
Else
b = b + 1
c = b
полудублирование = 0
End If
End If
Else
полудублирование = 0 '$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$4
End If
If полудублирование = 1 Then
If Cells(a, = Cells(b, Then
MsgBox _
"УБРАТЬ ПОЛУДУБЛИРОВАНИЕ !", , _
"УБРАТЬ ОШИБКУ !!!"
Application.Run Macro:="Craitonbank.xls!проверка_на_дублирование"
' Exit Sub
End If
Cells(b, 13).Select
Cells(b, 13).Value = "проверить!"
Selection.Rows.AutoFit
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Font.ColorIndex = 5
Cells(b, 13).Font.Bold = True
Cells(a, 13).Select
Cells(a, 13).Value = "проверить!"
Selection.Rows.AutoFit
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Font.ColorIndex = 5
Cells(a, 13).Font.Bold = True
Cells(a, 13).Select
a_1 = a
b_1 = b
ошибочные_ячейки = ошибочные_ячейки + 1
адреса_ошибок = a_1 & "+ " & b_1 _
& ", " & адреса_ошибок
длина = Len(адреса_ошибок)
End If
сравнить_1 = сравнить
сравнить = InStr(адреса_ошибок, строка)
If длина > s Then
длина_2 = длина_1 + длина_2
длина_1 = длина - длина_2
строка = Left(адреса_ошибок, длина_1) 'от начала строки
s = s + 100
глушня(UBound(глушня)) = строка
ReDim Preserve глушня(UBound(глушня) + 1)
адреса_ошибок = адреса_ошибок_a & адреса_ошибок
End If
If Cells(b, 1) = "" Then
Exit For
End If
Next a
If Cells(b, 1) = "" Then
Exit For
End If
Next c
'If Cells(a, 13) = "проверить!" And ошибочные_ячейки = "" Then
'ошибочные_ячейки = 1
'End If
строка_1 = строка
If сравнить <> 0 Then
If сравнить > 2 Then
строка = Left(адреса_ошибок, сравнить - 2) & "."
Else
строка = Left(адреса_ошибок, длина - 1) & "."
End If
строка_1 = Left(строка_1, длина - 1)
строка_2 = Left(строка, длина - 1)
сравнить = InStr(строка_1, строка_2)
If сравнить = 1 Then
глушня(UBound(глушня)) = строка
ReDim Preserve глушня(UBound(глушня) - 1)
End If
глушня(UBound(глушня)) = строка
ReDim Preserve глушня(UBound(глушня) + 1)
End If
If ошибочные_ячейки <> 0 Then
Application.ScreenUpdating = True
КодОтвета = MsgBox _
("(ЗАПИСАТЬ АДРЕСА ОШИБОК НА ОТДЕЛЬНЫЙ ЛИСТ ?)", _
vbYesNo, _
"ЧУДИЛА, обнаружены ошибки в кол. " _
& ошибочные_ячейки _
& " шт. по адресам :")
For Each адреса_ошибок_a In глушня
If адреса_ошибок_a <> False Then MsgBox "№№ ошибочных строк: " _
& адреса_ошибок_a, , _
"смотри в банке лист ''Д(полный)''"
Next
If КодОтвета = 6 Then
a = 0
Sheets.Add
NewSheetName = ActiveSheet.Name
Sheets(NewSheetName).Name = "адреса ошибок"
For Each адреса_ошибок_a In глушня
a = a + 1
Cells(a, 1).Value = адреса_ошибок_a
Next
End If
Sheets("ПАНЕЛЬ").Select
Range("B2").Select
ActiveCell.Value = "ПОЛУДУБЛИРОВАНИЕ !"
Range("B2").Select
Sheets("Д(полный)").Select
Else
If открытие_файла <> 1 Then
Range("A1").Select
Sheets("ПАНЕЛЬ").Select
Range("A1").Select
MsgBox _
"В ''CRAITONbanke'' ВСЁ ПУТЁМ, ЗЕМЕЛЯ !", , _
"ЯВОЛЬ !!!"
End If
End If
End Sub
'
Sub окно()
Sheets("Д").Select
Sheets("ПАНЕЛЬ").Select
End Sub
Всё не уместилось, к сожалению...
maikl1292- Самый первый!
- Сообщения : 235
Дата регистрации : 2011-06-24
Возраст : 71
Откуда : Москва
Re: Хобби или любимые занятия
Надо просто в блок "Код" вставлять, чтобы уместилось.
А кто писал программку?
В EXCEL, кстати, встроен именно схожий с VB6.0 интерпретатор. Называется VBA. (Визуал бэйсик для приложений)
Тут он встроен в приложения.
А VB6.0 - это самостоятельное приложение для создания самостоятельных программ и прочей самостоятельной программной пакости.
VB6.0 при отладке так же интерпретирует код. А когда всё готово - то компиляция в .exe или другие форматы.
Для моей задачи VBA не подойдёт. И вообще, я этот вариант проходил.
Так же только в Access делал. Работало всё.
С одной стороны жутко медленно.
И объём файла был просто колоссальный. По 30 мег! Это же можно целую библиотеку положить в этот файл. В общем, хрен знает что он туда ешё пишет.
А потом как появился 2007 офис. Они начиная с его полностью переделали и форматы офисных файлов и саму платформу.
Так вот моя прога, сделанная в 2003 Accessе в 2007 не стала работать. Часть её работала, сами таблицы и связи.
А весь VBA проект отказал.
С экселем там всё проще. там макросы переносятся.
Вот, с тех пор я зарёкся что-то серьёзное делать в офисных приложениях. Да и очень уж урезан по возможностям.
Самое смешное, что когда ещё была 95 увинда, я сделал на заказ один макровирус в ворде.
Словом, открыл документ, потом закрыл. Всё в порядке.
Потом выключаешь комп. Наутро включаешь - и он начитает без запроса форматировать диск С!
На одном компе опробовали. Отформатировал.
Ну, и размножался тоже этот вирус.
Жалко, что моё изобретение так и не запустили.
Просто надо было этому товарищу насолить другим товарищам. Да вроде всё потом утихло.
Вот немного побольше элементов на форме:
А кто писал программку?
В EXCEL, кстати, встроен именно схожий с VB6.0 интерпретатор. Называется VBA. (Визуал бэйсик для приложений)
Тут он встроен в приложения.
А VB6.0 - это самостоятельное приложение для создания самостоятельных программ и прочей самостоятельной программной пакости.
VB6.0 при отладке так же интерпретирует код. А когда всё готово - то компиляция в .exe или другие форматы.
Для моей задачи VBA не подойдёт. И вообще, я этот вариант проходил.
Так же только в Access делал. Работало всё.
С одной стороны жутко медленно.
И объём файла был просто колоссальный. По 30 мег! Это же можно целую библиотеку положить в этот файл. В общем, хрен знает что он туда ешё пишет.
А потом как появился 2007 офис. Они начиная с его полностью переделали и форматы офисных файлов и саму платформу.
Так вот моя прога, сделанная в 2003 Accessе в 2007 не стала работать. Часть её работала, сами таблицы и связи.
А весь VBA проект отказал.
С экселем там всё проще. там макросы переносятся.
Вот, с тех пор я зарёкся что-то серьёзное делать в офисных приложениях. Да и очень уж урезан по возможностям.
Самое смешное, что когда ещё была 95 увинда, я сделал на заказ один макровирус в ворде.
Словом, открыл документ, потом закрыл. Всё в порядке.
Потом выключаешь комп. Наутро включаешь - и он начитает без запроса форматировать диск С!
На одном компе опробовали. Отформатировал.
Ну, и размножался тоже этот вирус.
Жалко, что моё изобретение так и не запустили.
Просто надо было этому товарищу насолить другим товарищам. Да вроде всё потом утихло.
Вот немного побольше элементов на форме:
Сергей- Властелин времени
- Сообщения : 1149
Дата регистрации : 2011-06-23
Возраст : 58
Откуда : Челябинск
Re: Хобби или любимые занятия
Там так и написано "моя минибанковская программка".Dirizab пишет:...А кто писал программку?..
Да объём, мягко говоря, приличный. У меня объём файла ТЭЦ-овской кладовки, под которую я написал минискладскую программку тоже на макросах - 17,7Мб. Так сам файл открывается от полутора до 2 с половиной минут, в зависимости от того, нет ли на момент открытия инструмента, у которого наступил срок испытания в соответствии с требованиями ТБ.Dirizab пишет:...И объём файла был просто колоссальный. По 30 мег!..
...Это же можно целую библиотеку положить в этот файл. В общем, хрен знает что он туда ешё пишет.
При открывании файла проводится сканирование всех дат проверки инструмента и в случае, если дата наступила либо просрочена, то при скрытиии всех строк файла открывается лишь строка или строки с этим инструментом с выделением даты жирным красным шрифтом. Это очень удобно - не надо копаться и искать и исключена всякая забывчивость в этом плане, что в вопросах Техники Безопасности трудно переоценить. Для примера приведу лишь одну подпрограммку поиска ошибок в файле, когда автоматически, при нахождении ошибки, останавливается всякая дальнейшая работа до устранения ошибки, индицируется конкретное место, где сделана ошибка. Что тоже - крайне удобно.
- Код:
Sub проверка_ошибок()
Dim исправить()
ReDim глушня(GK)
Dim строка
Sheets("инструмент").Select
If Cells(3, 2) = "ОШИБКА !!!" Then
If Cells(1, 2) = "дом" Then
msg = "ПРИДУРОК !"
Else
msg = "ЧУМИЧКА !"
End If
MsgBox _
msg _
& " СРОЧНО НАЙДИ И ИСПРАВЬ ОШИБКУ !"
Exit Sub
End If
имя_листа = ActiveSheet.Name
хакер = ""
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!Get_Computer_Name"
Application.ScreenUpdating = False
имя_листа_1 = ActiveSheet.Name
If фамилия <> "проверить ошибки" Then
КодОтвета = MsgBox _
("ПРОВЕРИМ ОШИБКИ ?", _
vbYesNo, _
"не спеши!!!.")
Else
КодОтвета = 6
End If
адреса_ошибок = ""
ошибочные_ячейки = 0
b = s
s_1 = s
s = 100
If Cells(2, 7) = "ОШИБКИ!" Then
КодОтвета = 6
End If
If КодОтвета <> 6 Then
s = b
Sheets(имя_листа).Select
Exit Sub
End If
For e = 0 To 6
имя_листа = ActiveSheet.Name
If имя_листа = "инструмент" _
Or имя_листа = "СТРОПЫ" Then
a = 5
Else
a = 4
End If
For a = 6 To 65536
If Cells(a, 1) = "" Then
Exit For
End If
Next a
разница_прогресс = Cells(a, 1).Row
For a = 4 To 65536
t = a
If КодОтвета = 6 Then
If Right(t, 1) = 0 Then
дисплей.Show
End If
End If
If имя_листа = "материалы" Or имя_листа = "метизы" Then
g = 9
f = 10
End If
If имя_листа = "подшипники" Then
g = 13
f = 14
End If
If имя_листа = "инструмент" _
Or имя_листа = "СТРОПЫ" Then
g = 9
f = 14
End If
If Cells(a, f) <> "" Then
If Cells(a, g) = "" _
Or Cells(a, g - 1) = "" _
Or Cells(a, g) = "ОШИБКА!" _
Or Cells(a, g - 1) = "ОШИБКА!" Then
If Cells(a, g) <> "ОШИБКА!" And Cells(a, g) = "" Then
Cells(a, g).Select
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!снять_защиту"
Cells(a, g).Value = "ОШИБКА!"
Selection.Font.ColorIndex = 3
Selection.Font.Bold = True
Selection.EntireRow.AutoFit
End If
If Cells(a, g - 1) <> "ОШИБКА!" And Cells(a, g - 1) = "" Then
Cells(a, g - 1).Select
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!снять_защиту"
Cells(a, g - 1).Value = "ОШИБКА!"
Selection.Font.ColorIndex = 3
Selection.Font.Bold = True
Selection.EntireRow.AutoFit
End If
ошибочные_ячейки = ошибочные_ячейки + 1
адреса_ошибок = имя_листа & "-" & a & "," & адреса_ошибок
длина = Len(адреса_ошибок)
End If
End If
If Cells(a, 2) = "" Then
If Cells(a + 1, 1) <> "" Then
фамилия = "ошибка соответствия (нет строки)"
MsgBox _
msg _
& " ОТСУТСТВУЕТ СТРОКА В ЛИСТЕ: ''" _
& имя_листа & "'' !!!"
Exit Sub
End If
сравнить_1 = сравнить
сравнить = InStr(адреса_ошибок, строка)
Exit For
End If
If длина > s Then
длина_2 = длина_1 + длина_2
длина_1 = длина - длина_2
строка = Left(адреса_ошибок, длина_1) 'от начала строки
s = s + 100
глушня(UBound(глушня)) = строка
ReDim Preserve глушня(UBound(глушня) + 1)
адреса_ошибок = адреса_ошибок_a & адреса_ошибок
End If
Next a
a = 6
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!защита"
If e = 4 Then 'изменить при вставке/удалении листа №№№№№№№№№№№№№№№
Exit For
End If
ActiveSheet.Next.Select
Next e
строка_1 = строка
If длина < s And ошибочные_ячейки <> 0 Then
' If d = "" And длина < s And ошибочные_ячейки <> 0 Then
If сравнить > 2 Then
строка = Left(адреса_ошибок, сравнить - 2) & "."
Else
строка = Left(адреса_ошибок, длина - 1) & "."
End If
строка_1 = Left(строка_1, длина - 1)
строка_2 = Left(строка, длина - 1)
сравнить = InStr(строка_1, строка_2)
If сравнить = 1 Then
глушня(UBound(глушня)) = строка
ReDim Preserve глушня(UBound(глушня) - 1)
End If
глушня(UBound(глушня)) = строка
ReDim Preserve глушня(UBound(глушня) + 1)
End If
If ошибочные_ячейки <> 0 Then
имя_листа = ActiveSheet.Name
Sheets("инструмент").Select
If Cells(1, 2) = "дом" Then
Msg_1 = "ЗЕМЛЯЧОК, "
Else
Msg_1 = "ЧУМА БОЛОТНАЯ, "
End If
For n = 1 To 7
If n = 6 Then
If кому <> "никому" Then
MsgBox _
Msg_1 _
& "ИЩИ ОШИБКИ И ВРУБАЙ АВТОПИЛОТ !"
End If
Sheets("инструмент").Select
Exit For
End If
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!снять_защиту"
Cells(2, 7).Value = "ОШИБКИ!"
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!защита"
ActiveSheet.Next.Select
Next n
Sheets(имя_листа).Select
КодОтвета = MsgBox _
("(ЗАПИСАТЬ АДРЕСА ОШИБОК НА ОТДЕЛЬНЫЙ ЛИСТ ?)", _
vbYesNo, _
"МУДИЛА, обнаружены ошибки в кол. " _
& ошибочные_ячейки _
& " шт. по адресам :")
For Each адреса_ошибок_a In глушня
If адреса_ошибок_a <> False Then MsgBox адреса_ошибок_a
Next
Else
КодОтвета = 7
Sheets("инструмент").Select
For n = 1 To 7
If n = 6 Then
Exit For
End If
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!снять_защиту"
Cells(2, 7).Value = ""
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!защита"
ActiveSheet.Next.Select
Next n
Sheets(имя_листа).Select
End If
If КодОтвета = 6 Then
a = 0
Sheets("РАСХОД").Select
Sheets.Add
NewSheetName = ActiveSheet.Name
Sheets(NewSheetName).Name = "адреса ошибок"
For Each адреса_ошибок_a In глушня
a = a + 1
Cells(a, 1).Value = адреса_ошибок_a
Next
End If
Sheets("инструмент").Select
дата = Now()
For a = 5 To 65536
If Cells(a, 1) = "" _
And Cells(a + 1, 1) = "" Then
Exit For
End If
If дата - Cells(a, 6) >= 0 _
And дата - Cells(a, 6) <> дата Then
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!снять_защиту"
Cells(2, 14).Value = ActiveCell.Row
Cells(2, 15).Value = ActiveCell.Column
Range("A4:K65536").Select
Selection.RowHeight = 0
For s = a To 65536
If Cells(s, 2) = "" Then
Exit For
End If
If дата - Cells(s, 6) >= 0 _
And дата - Cells(s, 6) <> дата Then
If Cells(2, 11) <> "ОТКРЫТО" Then
Application.ScreenUpdating = True
End If
Cells(s, 6).Select
Cells(2, 12).Value = ActiveCell.Row
Cells(2, 13).Value = ActiveCell.Column
Application.ScreenUpdating = False
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!снять_защиту"
Selection.RowHeight = 12.75
Selection.Font.ColorIndex = 3
Selection.Font.Bold = True
Application.ScreenUpdating = False
хакер = "ПРОВЕРКА!"
КодОтвета = 6
Cells(2, 10).Value = "ТЕХНИКА БЕЗОПАСНОСТИ"
End If
Next s
Exit For
End If
Next a
If Cells(1, 2) = "дом" Then
Msg_1 = "ЗЕМЛЯЧОК, "
Else
Msg_1 = "ЧУМА БОЛОТНАЯ, "
End If
If Cells(2, 7) = "ОШИБКИ!" Then
If n <> 6 Then
MsgBox _
Msg_1 _
& "ИЩИ ОШИБКИ И ВРУБАЙ АВТОПИЛОТ !"
End If
Exit Sub
End If
If прогресс = "" _
And хакер <> "ПРОВЕРКА!" Then
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!признаки_фильтра"
If фильтр = "фильтр работает" Then
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!фильтр_3"
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!фильтр_3"
Else
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!фильтр_3"
End If
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!снять_защиту"
Selection.AutoFilter Field:=7, Criteria1:="1"
If s = 6 _
Or ActiveWorkbook.Name = "кладовая Т.О..xls" Then
Selection.AutoFilter Field:=8, Criteria1:="Т/О-"
Else
Selection.AutoFilter Field:=8, Criteria1:="К/О-"
End If
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!снять_защиту"
ActiveWindow.Zoom = 100
Selection.RowHeight = 12.75
With Selection.Font
.Name = "Arial Cyr"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
End With
End If
If Cells(2, 11) <> "ОТКРЫТО" _
And хакер <> "ПРОВЕРКА!" Then
MsgBox _
"ЧЕГО ВЫЛУПИЛ ГЛЯДЕЛКИ, ДАВАЙ РАБОТАЙ !", , _
"ВСЁ НОРМАЛЬНО, В НАТУРЕ !"
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!снять_защиту"
Cells(2, 11) = "ОТКРЫТО"
End If
Application.ScreenUpdating = FalseSelect
Sheets("проверка стан.оборудования").Select
For c = 1 To 5
имя_листа = ActiveSheet.Name
If c = 4 Then
Exit For
End If
If имя_листа = "проверка стан.оборудования" Then
d = 18
Else
If имя_листа = "проверка груз.средств" Then
d = 11
Else
If имя_листа = "проверка пневмоинструмента" Then
d = 8
End If
End If
End If
For a = 6 To 65536
If Cells(a, 1) = "" Then
Exit For
End If
If Cells(a, d) <> "проверено" _
And Cells(a, d) <> "нет" Then
If дата - Cells(a, d) >= 0 _
And дата - Cells(a, d) <> дата Then
Range("A6:K65536").Select
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!снять_защиту"
Selection.RowHeight = 0
For s = a To 65536
If Cells(s, 1) = "" Then
Exit For
End If
If Cells(s, d) <> "проверено" _
And Cells(s, d) <> "нет" Then
If дата - Cells(s, d) >= 0 _
And дата - Cells(s, d) <> дата Then
Cells(s, d).Select
хакер = "ПРОВЕРКА!"
ActiveCell.Rows("1:1").EntireRow.Select
Selection.RowHeight = 12.75
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
Application.ScreenUpdating = True
Cells(s, d).Select
ActiveWindow.LargeScroll Down:=-3
Application.ScreenUpdating = False
End If
End If
Next s
Exit For
End If
End If
Next a
ActiveSheet.Next.Select
Next c
Sheets("инструмент").Select
Application.ScreenUpdating = True
If Cells(2, 11) <> "ОТКРЫТО" Then
ActiveWindow.LargeScroll Down:=-3
MsgBox _
"срочно проведи проверку инструмента по ТБ !!!"
End If
Cells(Cells(2, 12), Cells(2, 13)).Select
ActiveCell.Select
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!снять_защиту"
Cells(2, 11).Value = ""
дисплей.Show
s = b
s_1 = 1
Sheets(имя_листа_1).Select
Application.Run Macro:="'ТЭЦ-26-ЦЦР-КТО.xls'!защита"
End Sub
А вот как выглядит форма, скажем, после того, как я пришёл с отпуска и оказалась целая куча непроверенного инструмента:
К слову сказать, я этой программкой пользуюсь у себя на работе уже более 20 лет, периодически её модернизирую и устраняя всплывающие в начале её эксплуатации недоработки и шероховатости.
Не совсем так. Несмотря на то, что макросы переносятся, в любом случае они, как правило, рабоют уже не столь корректно и так или иначе приходится дополнительно работать с программой, что, кстати, даёт и дополнительные возможности для её дальнейшего улучшения в свете появившихся этих дополнительных возможностей, даваемых более современной версией эл.таблиц.Dirizab пишет:...А потом как появился 2007 офис. Они начиная с его полностью переделали и форматы офисных файлов и саму платформу.
Так вот моя прога, сделанная в 2003 Accessе в 2007 не стала работать. Часть её работала, сами таблицы и связи.
А весь VBA проект отказал.
С экселем там всё проще. там макросы переносятся...
maikl1292- Самый первый!
- Сообщения : 235
Дата регистрации : 2011-06-24
Возраст : 71
Откуда : Москва
Re: Хобби или любимые занятия
А сейчас я бы хотел привести очень небольшую но, на мой взгляд, довольно универсальную и крайне удобную программку расчёта линии сопряжения врезки труб при различных её условиях и с расчётом геометрии деталей сварных отвод при их изготовлении.
А вот как выглядит её форма при выполненном расчёте линии сопряжении врезки:
(поскольку вся форма на экране не умещается приходится здесь её выложить в трёх кусках).
А вот как выглядит та же форма при расчёте геометрии сварного отвода (С автоматичским расчётом и линии сопряжения между ними):
Заодно и даю скан эскиза отвода с условными обозначениями исходных параметров при вводе в программу:
Причём, правильность выводов, дающих программой мною была проверена по книгам: А.Ф. Сухачев "Изготовление шаблонов для врезки трубопроводов" и В.И. Гадалов "слесарь по монтажу технологических трубопроводов". Вот сравнительные данные, из которых видно, что значения или совпадают или отличаются крайне незначительно. Я полагаю, при несовпаденни имеется ввиду округление результата авторами книги при расчётах в ручном режиме, без компьютера:
Эта программка вообще самая первая, не считая минибанковской, что была ещё написана для программируемых калькуляторов МК-61 и МК-85, а впоследствии и для калькулятора TEHAS INSTRUMENTS T1-81, после чего её пришлось также дорабатывать для компьютера. Вот если бы ещё к компу можно было бы подключить режущее устройство для обработки труб согласно рсчётной линии врезки, то цены ей бы не было. Уверен, что что-то такое в промышленности должно существовать...
- Код:
Sub врезка_труб_и_отводы()
ActiveSheet.Unprotect
s = 0
Cells(7, 2).Select
If ActiveCell <> "B-" Then
Range("A7").Select
Rows("7:7").Select
Selection.Delete Shift:=xlUp
Range("A7").Select
Rows("10:10").Select
Selection.Delete Shift:=xlUp
Range("A1").Select
End If
КодОтвета = MsgBox("Врезку рассчитываем, да?", vbYesNoCancel, _
"выбор расчёта.")
If КодОтвета = 6 Then
g = 6
Range("A13:A18").Select
Selection.Font.ColorIndex = 15
Range("B13:C18").Select
Selection.Font.ColorIndex = 35
Range("A1").Select
If s = 1 Then
Exit Sub
End If
Cells(2, 3).Value = "диаметр врезаемой трубы в мм."
Cells(2, 2).Value = "d-"
Cells(3, 3).Value = "диаметр основной трубы в мм."
Cells(3, 2).Value = "D-"
Cells(4, 3).Value = "толщина стенки врезаемой трубы в мм."
Cells(4, 2).Value = "T-"
Cells(5, 3).Value = "межосевое смещение врезаемых труб в мм."
Cells(5, 2).Value = "S-"
Cells(6, 3).Value = "угол межосевой врезаемых труб в градусах"
Cells(6, 2).Value = "C-"
Cells(7, 3).Value = "начальное значение развёртки по абсциссе в мм."
Cells(7, 2).Value = "B-"
Cells(8, 3).Value = "шаг развёртки в мм."
Cells(8, 2).Value = "А-"
Cells(10, 3).Value = "угол поворота врезаемой трубы в градусах"
Cells(10, 2).Value = "Y-"
Cells(11, 3).Value = "значение развёртки по абсциссе в мм."
Cells(11, 2).Value = "B-"
Cells(12, 3).Value = "значение развёртки по ординате в мм."
Cells(12, 2).Value = "Z-"
With DialogSheets("на врезку труб")
DialogSheets("на врезку труб").Show
Cells(2, 1) = .EditBoxes("Поле ввода 4в").Text
Cells(3, 1) = .EditBoxes("Поле ввода 5в").Text
If Cells(3, 1) < Cells(2, 1) Then
MsgBox "НЕПРАВИЛЬНО!!"
Exit Sub
End If
Cells(4, 1) = .EditBoxes("Поле ввода 7в").Text
Cells(5, 1) = .EditBoxes("Поле ввода 8в").Text
Cells(6, 1) = .EditBoxes("Поле ввода 9в").Text
Cells(7, 1) = .EditBoxes("Поле ввода 10в").Text
Cells(8, 1) = .EditBoxes("Поле ввода 11в").Text / 1
End With
End If
If КодОтвета = vbCancel Then
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios _
:=True
Exit Sub
End If
If s <> 1 Then
If g <> 6 Then
Range("A13:C18").Select
Selection.Font.ColorIndex = 1
ActiveWindow.LargeScroll Down:=-1
Range("A7").Select
Rows("7:7").Select
Selection.Insert Shift:=xlDown
ActiveCell.Select
Range("A11").Select
Rows("11:11").Select
Selection.Insert Shift:=xlDown
ActiveCell.Select
Rows("12:12").Select
Selection.Copy
Rows("11:11").Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.DrawingObjects("Button 51").Select
Selection.Height = 16.5
Range("B11").Select
With DialogSheets("на отводы")
DialogSheets("на отводы").Show
If s = 1 Then
Exit Sub
End If
Cells(2, 3).Value = "диаметр трубы-заготовки в мм."
Cells(2, 2).Value = "D-"
Cells(3, 3).Value = "количество деталей отвода в шт."
Cells(3, 2).Value = "N-"
Cells(4, 3).Value = "толщина стенки трубы-заготовки в мм."
Cells(4, 2).Value = "T-"
Cells(5, 3).Value = "мин. расстояние между торцами труб в мм."
Cells(5, 2).Value = "M-"
Cells(6, 3).Value = "межосевой угол соединяемых труб в градусах"
Cells(6, 2).Value = "C-"
Cells(7, 3).Value = "радиус отвода в мм."
Cells(7, 2).Value = "R-"
Cells(8, 3).Value = "начальное значение развёртки по абсциссе в мм."
Cells(8, 2).Value = "B-"
Cells(9, 3).Value = "шаг развёртки в мм."
Cells(9, 2).Value = "А-"
Cells(11, 3).Value = "угол скоса торца детали отвода в градусах"
Cells(11, 2).Value = "W-"
Cells(12, 3).Value = "угол поворота трубы-заготовки в градусах"
Cells(12, 2).Value = "Y-"
Cells(2, 1) = .EditBoxes("Поле ввода 4").Text
Cells(3, 1) = .EditBoxes("Поле ввода 5").Text
Cells(4, 1) = .EditBoxes("Поле ввода 7").Text
Cells(6, 1) = .EditBoxes("Поле ввода 9").Text
Cells(5, 1) = .EditBoxes("Поле ввода 8").Text
Cells(7, 1) = .EditBoxes("Поле ввода 10").Text
a = Cells(5, 1)
b = Cells(7, 1)
If Cells(5, 1) = "" Then
Cells(5, 1).Select
MsgBox "введите в ячейку нулевое значение !"
Exit Sub
End If
If Cells(7, 1) = "" Then
Cells(7, 1).Select
MsgBox "введите в ячейку нулевое значение"
Exit Sub
End If
Cells(10, 2) = .EditBoxes("Поле ввода 10").Text
If Cells(19, 1) < 0 Then
MsgBox "НЕПРАВИЛЬНО!!"
Exit Sub
End If
Cells(8, 1) = .EditBoxes("Поле ввода 11").Text
Cells(9, 1) = .EditBoxes("Поле ввода 12").Text / 1
Cells(32, 1).Copy
Range("A11").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
If Cells(7, 1).Value <> "0" Then
Cells(20, 3).Value = "наименьшее расстояние между торцами труб в мм."
Cells(20, 2).Value = "M-"
Else
Cells(20, 3).Value = "радиус отвода в мм."
Cells(20, 2).Value = "R-"
End If
End With
End If
Range("I2:K500").Select
Selection.ClearContents
Range("A1").Select
If s <> 1 Then
КодОтвета = MsgBox("АВТОМАТОМ-НЕТ?", vbYesNo, _
"выбор режима расчёта.")
If КодОтвета = 6 Then
d = 6
End If
End If
c = 0
b = 0
x = 1
э = 1
d_v = Cells(2, 1)
If g = 6 Then
a = Cells(8, 1)
b = Cells(7, 1)
Else
a = Cells(9, 1)
b = Cells(8, 1)
End If
окружность = d_v * 3.1415926536 + a
For b = b To окружность Step a
If g = 6 Then
Cells(11, 1).Value = b
э = Cells(12, 1)
c = Cells(10, 1)
Else
Cells(13, 1).Value = b
э = Cells(14, 1)
c = Cells(12, 1)
End If
x = x + 1
Cells(x, 9).Value = b
Cells(x, 11).Value = э
Cells(x, 10).Value = c
Range("P5").Select
If d <> 6 Then
КодОтвета = MsgBox("ДОСТАТОЧНО-НЕТ?", vbYesNo, _
"возможность останова на шаге.")
If КодОтвета = 6 Then
Exit For
End If
End If
Next b
End If
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios _
:=True
End Sub
'
Sub Кнопка_ОТМЕНА_О()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios _
:=True
s = 1
End Sub
А вот как выглядит её форма при выполненном расчёте линии сопряжении врезки:
(поскольку вся форма на экране не умещается приходится здесь её выложить в трёх кусках).
А вот как выглядит та же форма при расчёте геометрии сварного отвода (С автоматичским расчётом и линии сопряжения между ними):
Заодно и даю скан эскиза отвода с условными обозначениями исходных параметров при вводе в программу:
Причём, правильность выводов, дающих программой мною была проверена по книгам: А.Ф. Сухачев "Изготовление шаблонов для врезки трубопроводов" и В.И. Гадалов "слесарь по монтажу технологических трубопроводов". Вот сравнительные данные, из которых видно, что значения или совпадают или отличаются крайне незначительно. Я полагаю, при несовпаденни имеется ввиду округление результата авторами книги при расчётах в ручном режиме, без компьютера:
Эта программка вообще самая первая, не считая минибанковской, что была ещё написана для программируемых калькуляторов МК-61 и МК-85, а впоследствии и для калькулятора TEHAS INSTRUMENTS T1-81, после чего её пришлось также дорабатывать для компьютера. Вот если бы ещё к компу можно было бы подключить режущее устройство для обработки труб согласно рсчётной линии врезки, то цены ей бы не было. Уверен, что что-то такое в промышленности должно существовать...
maikl1292- Самый первый!
- Сообщения : 235
Дата регистрации : 2011-06-24
Возраст : 71
Откуда : Москва
Пользователем ПК можешь ты и не быть, а программистом быть обязан.
Вот так и получается, что производители программного обеспечения делают продукт, который может широко быть использован в разных целях. А вот адаптировать этот продукт под частные и узкие задачи - это долг каждого юзера.
VBA очень прост и эффективен, чтобы юзер его наличие игнорировал. И он превращает простой "Word" или "Excel" в не просто редактор текста или таблиц в совершенно иного порядка инструмент. Что весьма экономит время.
Например, я не так давно сделал проект (ОС, ТСВ, периметр. освещение) на ... завод. Тогда ещё я писал на 1001, что сделал за ночь 50 чертежей. Все альбомы у меня содержали около 500 листов. И мне, в частности, надо было перегнать чертежи в формат ".gif" для отправки сначала в Москву для предварительного согласования, а потом то же проделать с окончательным вариантом просто чтоб был на случай утраты всех бумажных экземпляров. Так вот для сохранения одного листа требуется проделать следующее: установить страницу как активную, файл - сохранить как - выбор формата ".gif", выбор папки, ввести имя файла, ОК, ещё один диалог - ОК. На всё это требуется 30 секунд. Казалось бы пустяк. Теперь умножаем 30 секунд на 1000 страниц и делим на 3600 (секунд в часе) И получаем ... 8 часов и 20 минут. Притом, тупой непрерывной и однообразной работы! Написать даже для одного этого конкретного случая программку, которая бы просто всё это сделала по нажатии одной кнопки" ОК", оказалось быстрее. За пол-часа такой макрос создаётся средствами того же VBA, а потом за пол-часа он сохраняет всё что надо в последовательности 001.Gif, 002.Gif, 003.Gif, ... 499.Gif, 500.Gif. А высвобожденные 7 часов и 20 минут можно потратить в своё удовольствие! Ну, собственно, я так и сделал.
Поэтому, пользователем ПК можешь ты и не быть, а программистом быть обязан.
Увы, технический прогресс - процесс диалектический, ускоренно ускоряющийся!
Поэтому, юзер должен ускоренно ускоряться вдвойне!
Управлять станком с ЧПУ проще из с компа. А контроллер станка может просто служить как схема управления шаговыми двигателями и датчиками.
VBA очень прост и эффективен, чтобы юзер его наличие игнорировал. И он превращает простой "Word" или "Excel" в не просто редактор текста или таблиц в совершенно иного порядка инструмент. Что весьма экономит время.
Например, я не так давно сделал проект (ОС, ТСВ, периметр. освещение) на ... завод. Тогда ещё я писал на 1001, что сделал за ночь 50 чертежей. Все альбомы у меня содержали около 500 листов. И мне, в частности, надо было перегнать чертежи в формат ".gif" для отправки сначала в Москву для предварительного согласования, а потом то же проделать с окончательным вариантом просто чтоб был на случай утраты всех бумажных экземпляров. Так вот для сохранения одного листа требуется проделать следующее: установить страницу как активную, файл - сохранить как - выбор формата ".gif", выбор папки, ввести имя файла, ОК, ещё один диалог - ОК. На всё это требуется 30 секунд. Казалось бы пустяк. Теперь умножаем 30 секунд на 1000 страниц и делим на 3600 (секунд в часе) И получаем ... 8 часов и 20 минут. Притом, тупой непрерывной и однообразной работы! Написать даже для одного этого конкретного случая программку, которая бы просто всё это сделала по нажатии одной кнопки" ОК", оказалось быстрее. За пол-часа такой макрос создаётся средствами того же VBA, а потом за пол-часа он сохраняет всё что надо в последовательности 001.Gif, 002.Gif, 003.Gif, ... 499.Gif, 500.Gif. А высвобожденные 7 часов и 20 минут можно потратить в своё удовольствие! Ну, собственно, я так и сделал.
Поэтому, пользователем ПК можешь ты и не быть, а программистом быть обязан.
Увы, технический прогресс - процесс диалектический, ускоренно ускоряющийся!
Поэтому, юзер должен ускоренно ускоряться вдвойне!
Ну, в условиях серийного производства так оно, видимо, и делается.maikl1292 пишет:Вот если бы ещё к компу можно было бы подключить режущее устройство для обработки труб согласно рсчётной линии врезки, то цены ей бы не было. Уверен, что что-то такое в промышленности должно существовать...
Управлять станком с ЧПУ проще из с компа. А контроллер станка может просто служить как схема управления шаговыми двигателями и датчиками.
Сергей- Властелин времени
- Сообщения : 1149
Дата регистрации : 2011-06-23
Возраст : 58
Откуда : Челябинск
Re: Хобби или любимые занятия
К любому увлечению отношусь с уважением!
Себя же ругаю за то, что их у меня слишком много - а это во-первых немного нервирует, во-вторых не даёт глубже вникать в дело! Но одним заниматься не могу - надоедает. Смена занятий в увлечениях - это и отдых лучше и особое удовольствие. Увлечение только компъютором на большом отрезке времени вводило меня часто в такую ярость, что был готов его просто выбросить из окна. Вот тут и нужна смена занятий.
Есть увлечения которые привязывают по времени - больной, нет настроения ...а занимайся. К примеру - садоводство. Даже в отпуск не даёт съездить к кому-то. Если не накого оставить сад. У меня не на кого. Поэтому жена сегодня едет к дочери. А я привязан - приедет с ней, а в саду пустыня, или почти. А шашлык в пустыне не такой вкусный, как в саду.
Писательство - завидное увлечение - всё что для этого надо - всегда при тебе. Какого качества - это другой вопрос. Но в любое время суток и года, и даже на больничной койке, если не под наркозом - можно творить. Если творческая личность.
Программирование - для меня тоже очень интересно!
Себя же ругаю за то, что их у меня слишком много - а это во-первых немного нервирует, во-вторых не даёт глубже вникать в дело! Но одним заниматься не могу - надоедает. Смена занятий в увлечениях - это и отдых лучше и особое удовольствие. Увлечение только компъютором на большом отрезке времени вводило меня часто в такую ярость, что был готов его просто выбросить из окна. Вот тут и нужна смена занятий.
Есть увлечения которые привязывают по времени - больной, нет настроения ...а занимайся. К примеру - садоводство. Даже в отпуск не даёт съездить к кому-то. Если не накого оставить сад. У меня не на кого. Поэтому жена сегодня едет к дочери. А я привязан - приедет с ней, а в саду пустыня, или почти. А шашлык в пустыне не такой вкусный, как в саду.
Писательство - завидное увлечение - всё что для этого надо - всегда при тебе. Какого качества - это другой вопрос. Но в любое время суток и года, и даже на больничной койке, если не под наркозом - можно творить. Если творческая личность.
Программирование - для меня тоже очень интересно!
Михаил- Прохожий
- Сообщения : 40
Дата регистрации : 2011-06-26
Re: Хобби или любимые занятия
Как у Вас, кстати, дела с Паскалем (Делфи)?Михаил пишет:Программирование - для меня тоже очень интересно!
Сергей- Властелин времени
- Сообщения : 1149
Дата регистрации : 2011-06-23
Возраст : 58
Откуда : Челябинск
Re: Хобби или любимые занятия
Пока читаю! И если мне это доставляет удовольствие - то я и не спешу с экспериментами. Потому как знаю, что все программы нужные мне составлены. Ноу хао я не стремлюсь сделать. Читать интересно, тут же забывать, опять читать.
Или помру раньше с книгой на животе, или какую-то программу составлю. Больше всего меня стимулирует то, что внучкам (пока), там может и внукам смогу отвечать на некоторые вопросы.
То есть к программированию у меня весьма небольшие запросы.
Главное-то я давно понял, еще в 1973 году - это работа больших коллективов и большая база данных, а остальное дело техники.
И где-то даже похоже на рутину. Но...ей пользоваться уметь нужно.
А то вот жена пишет с умляутами, а они не сохраняются - мелочь, а ведь надо докопаться. Пока копаешься - у неё другая проблема. Женщины...!!! Одним словом. Правда за всех не говорю - всех не знаю. Только не большую часть.
Или помру раньше с книгой на животе, или какую-то программу составлю. Больше всего меня стимулирует то, что внучкам (пока), там может и внукам смогу отвечать на некоторые вопросы.
То есть к программированию у меня весьма небольшие запросы.
Главное-то я давно понял, еще в 1973 году - это работа больших коллективов и большая база данных, а остальное дело техники.
И где-то даже похоже на рутину. Но...ей пользоваться уметь нужно.
А то вот жена пишет с умляутами, а они не сохраняются - мелочь, а ведь надо докопаться. Пока копаешься - у неё другая проблема. Женщины...!!! Одним словом. Правда за всех не говорю - всех не знаю. Только не большую часть.
Михаил- Прохожий
- Сообщения : 40
Дата регистрации : 2011-06-26
Re: Хобби или любимые занятия
Программы общего составлены. А вот когда нужна программа под конкретные задачи, то тут не всегда можно адаптировать что-то уже созданное.Михаил пишет:Пока читаю! И если мне это доставляет удовольствие - то я и не спешу с экспериментами. Потому как знаю, что все программы нужные мне составлены. Ноу хао я не стремлюсь сделать. Читать интересно, тут же забывать, опять читать.
Я несколько по-другому подхожу к изучению в частности программирования.
Ставлю задачу и делаю.
В книги только при возникновении вопросов.
Сергей- Властелин времени
- Сообщения : 1149
Дата регистрации : 2011-06-23
Возраст : 58
Откуда : Челябинск
Re: Хобби или любимые занятия
Мое:
1.Спортивные трансляции, на 99% это биатлон+ длительные дискуссии и задушевные беседы с соратниками по увлечению на биатлонном форуме..
2.Фазенда.
3.Кошки. Имею сама и оказываю небольшую финансовую поддержку энтузиастам, помогающим кошкам в лечении и обретении своего дома.
4.Коллекционирую анекдоты.
5.Остальное- по мелочам..Небольшие путешествия, литература- фентэзи, поэзия..
1.Спортивные трансляции, на 99% это биатлон+ длительные дискуссии и задушевные беседы с соратниками по увлечению на биатлонном форуме..
2.Фазенда.
3.Кошки. Имею сама и оказываю небольшую финансовую поддержку энтузиастам, помогающим кошкам в лечении и обретении своего дома.
4.Коллекционирую анекдоты.
5.Остальное- по мелочам..Небольшие путешествия, литература- фентэзи, поэзия..
Льдинка- Снежная королева
- Сообщения : 546
Дата регистрации : 2012-04-12
Откуда : Карелия
Re: Хобби или любимые занятия
Инна, я в своё время занимался книготорговлей.
Было время, когда анекдотов выходило великое множество, толстенные книги и множество маленьких брошюрок. Даже интерес пропал.
И на этом фоне вышла замечательная книга, сборник анекдотов Раскина. "Энциклопедия хулиганствующего ортодокса"
Тщательно отобранные, проверенные временем анекдоты.
Попадалась ли она Вам?
Если нет, то можете набрать в поисковике.
В силу специфики работы я был обязан прочитывать определённое количество книг, хотя к книгочеям себя не отношу.
Из фентэзи легли на душу "Дозоры" Лукьяненко, и книги Алексея Сергеева.
А что на Вас больше произвело впечатление?
Было время, когда анекдотов выходило великое множество, толстенные книги и множество маленьких брошюрок. Даже интерес пропал.
И на этом фоне вышла замечательная книга, сборник анекдотов Раскина. "Энциклопедия хулиганствующего ортодокса"
Тщательно отобранные, проверенные временем анекдоты.
Попадалась ли она Вам?
Если нет, то можете набрать в поисковике.
В силу специфики работы я был обязан прочитывать определённое количество книг, хотя к книгочеям себя не отношу.
Из фентэзи легли на душу "Дозоры" Лукьяненко, и книги Алексея Сергеева.
А что на Вас больше произвело впечатление?
Юрий- Экспериментатор движений вверх-вниз
- Сообщения : 670
Дата регистрации : 2011-06-30
Откуда : Лазаревское
Re: Хобби или любимые занятия
Юрий, за наводку на сборник спасибо, поищу!
Лукьяненко читала довольно много, Дозоры, разумеется (он сам не считает их одними из лучших романов). Более всего понравился, пожалуй- "Мальчик и тьма"- из ранних. А вот к последним как-то душа не легла..Лукьяненко одним из лучших считает свой роман "Осенние визиты"- так я дважды начинала и не могла читать.
Вот планирую электронную читалку купить! Классно- закинуть туда, к примеру, весь Либрусек- читай-обчитайся.
Хм..а библиотеки, книгоиздательство, книготорговля, похоже, вскорости и долго жить прикажут. Вот только гонорары-то писателям от издания книг- кто же захочет творить в Интернет? Книги ж никто и покупать не будет..
Да они уже и бессовестно дороги. 500 руб.отдай за книжечку или купи "читалку"- уже всего 2 тысячи и с ней имей всё, что можно скачать из Интернета..
Лукьяненко читала довольно много, Дозоры, разумеется (он сам не считает их одними из лучших романов). Более всего понравился, пожалуй- "Мальчик и тьма"- из ранних. А вот к последним как-то душа не легла..Лукьяненко одним из лучших считает свой роман "Осенние визиты"- так я дважды начинала и не могла читать.
Вот планирую электронную читалку купить! Классно- закинуть туда, к примеру, весь Либрусек- читай-обчитайся.
Хм..а библиотеки, книгоиздательство, книготорговля, похоже, вскорости и долго жить прикажут. Вот только гонорары-то писателям от издания книг- кто же захочет творить в Интернет? Книги ж никто и покупать не будет..
Да они уже и бессовестно дороги. 500 руб.отдай за книжечку или купи "читалку"- уже всего 2 тысячи и с ней имей всё, что можно скачать из Интернета..
Льдинка- Снежная королева
- Сообщения : 546
Дата регистрации : 2012-04-12
Откуда : Карелия
Re: Хобби или любимые занятия
Инна Павловна, а зачем читалка вообще? Я с монитора компьютера нормально читаю. Ну, разве что можно её куда-то брать. Бывают ситуации, в поезде, или на вокзале, автовокзале, в очереди к врачу... Тогда это очень хорошая штука.
Я вспомнил, что на меня большое впечатление произвела "Плаха" Чингиза Айтматова.
Я вспомнил, что на меня большое впечатление произвела "Плаха" Чингиза Айтматова.
Сергей- Властелин времени
- Сообщения : 1149
Дата регистрации : 2011-06-23
Возраст : 58
Откуда : Челябинск
Re: Хобби или любимые занятия
Продолжить список, для чего нужна читалка- взять с собой в больницу, да и просто поваляться с ней на диване!Dirizab пишет:Инна Павловна, а зачем читалка вообще? Я с монитора компьютера нормально читаю. Ну, разве что можно её куда-то брать. Бывают ситуации, в поезде, или на вокзале, автовокзале, в очереди к врачу... Тогда это очень хорошая штука.
Я вспомнил, что на меня большое впечатление произвела "Плаха" Чингиза Айтматова.
А сидя, с монитора я вообще читать книги не могу..
"Плаху" читала, давно..видимо, в несознательном возрасте, так что..
Хотя Айтматов нравится,читала, пожалуй, всё у него.. особенно "Пегий пес, бегущий краем моря".
Льдинка- Снежная королева
- Сообщения : 546
Дата регистрации : 2012-04-12
Откуда : Карелия
Re: Хобби или любимые занятия
Ну, да. Лёжа читать куда приятнее!
Сергей- Властелин времени
- Сообщения : 1149
Дата регистрации : 2011-06-23
Возраст : 58
Откуда : Челябинск
Re: Хобби или любимые занятия
Это точно!Dirizab пишет:Ну, да. Лёжа читать куда приятнее!
Тем более нет более эффективного снотворного, чем книга, читаемая лёжа (на неинтересном месте).
А продолжение (куда более интересное) может придти во время "второй фазы чтения" - в сновидениях.
Иногда, там много разной информации, да и открытия совершались (во время этой "фазы" некоторыми учёными).
Вывод: читать лёжа полезно (хотя бы - начать)!
Дмитрий Иванович- Кот Леопольд
- Сообщения : 481
Дата регистрации : 2011-07-02
Возраст : 65
Откуда : Воронеж
Re: Хобби или любимые занятия
Ну... Дмитрий Иванович!
Написали то, что я хотел добавить в сообщении!
Да, думал, как Инна Павловна к этому отнесётся, так и не стал писать.
Написали то, что я хотел добавить в сообщении!
Да, думал, как Инна Павловна к этому отнесётся, так и не стал писать.
Сергей- Властелин времени
- Сообщения : 1149
Дата регистрации : 2011-06-23
Возраст : 58
Откуда : Челябинск
Re: Хобби или любимые занятия
А что я? Всё нормально написано, правильно!Dirizab пишет:Ну... Дмитрий Иванович!
Написали то, что я хотел добавить в сообщении!
Да, думал, как Инна Павловна к этому отнесётся, так и не стал писать.
Правда, я не читаю скучный текст. И интересный вполне может вытеснить из головы разные ненужные мысли и быть как успокаивающее, следовательно- снотворное.
Льдинка- Снежная королева
- Сообщения : 546
Дата регистрации : 2012-04-12
Откуда : Карелия
Re: Хобби или любимые занятия
А я, если прихожу с тренировки и если не сидеть долго за компом, что редко бувает, то тоже классно засыпается. По всему телу приятная усталость!
Сергей- Властелин времени
- Сообщения : 1149
Дата регистрации : 2011-06-23
Возраст : 58
Откуда : Челябинск
Re: Хобби или любимые занятия
Рад за Вас, Инна (без отчества...?). Неинтересный и читать не будешь, но первоначальный интерес заставляет что-то начать читать, а дальше? Эффект снотворного. Да люди, как правило, в свободное время занимаются интересным - я за отпуск (в последнее время) - испытывал много разных операционных систем у себя - как Виндоуз, так и Линукс (на виртуальном ПК) и на реальном - конечно интерес к этому, но он явно у меня зашкалил - до утра сидел, не спал. В последнее время потребность во сне уменьшилась, ничего - можно и днём на часок-другой (кстати - полезно).Льдинка пишет:Правда, я не читаю скучный текст. И интересный вполне может вытеснить из головы разные ненужные мысли и быть как успокаивающее, следовательно- снотворное.
Дмитрий Иванович- Кот Леопольд
- Сообщения : 481
Дата регистрации : 2011-07-02
Возраст : 65
Откуда : Воронеж
Re: Хобби или любимые занятия
Можно-можно, Дмитрий Иванович, надоело, честно говоря, по отчеству на работе.
Ох, люблю я днем поспать! Мне бы идеальный режим- рано встать, поздно лечь, но днем отдохнуть!
Ох, люблю я днем поспать! Мне бы идеальный режим- рано встать, поздно лечь, но днем отдохнуть!
Льдинка- Снежная королева
- Сообщения : 546
Дата регистрации : 2012-04-12
Откуда : Карелия
Страница 1 из 3 • 1, 2, 3
Страница 1 из 3
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|