Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/104: Рейтинг темы: голосов - 104, средняя оценка - 4.82
124 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 249

Run time error 91: Object variable or With block variable not set (не могу найти ошибку)

16.10.2014, 10:24. Показов 21402. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые форумчане!

Пожалуйста посмотрите файл. Подскажите в чем ошибка.
В комбобоксе выбираю какой либо номер, делаю изменения в текстбоксах (или без изменений) пытаюсь сохранить и вылетает эта ошибка (Run time error 91: Object variable or with block variable non set). По сайтам искал подобные решения, подходящего не нашел. Ну может и руки кривые.
Вложения
Тип файла: rar AD-CN EVALUATION COMPLIANCE REPORT FORM.rar (88.7 Кб, 22 просмотров)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.10.2014, 10:24
Ответы с готовыми решениями:

Ошибка Run Time Error 91 (Object variable or block variable not set)
Добрый день! Есть код для VBA Outlook для открытия файла Excel, копирования из него диапазона, и вставки в другой файл, который...

Run time error 91: Object variable or With block variable not set
Здравствуйте, помогите пожалуйста исправить ошибку в макросе. Вот код: Sub findtekst() Dim c As Range Set c =...

Run-time error 91. Object variable or with block variable not set
Добрый день! Я оказался на новом месте, в макросах не разбираюсь совсем. Возникает такая ошибка при попытке запуска макроса в Excel...

21
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
16.10.2014, 13:23
Вот, я вам бесплатно перевел с иностранного..

*Переменная объекта или переменная блока with не заданна*
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
16.10.2014, 13:25
Лучший ответ Сообщение было отмечено ac1-caesar как решение

Решение

В выражениях типа:
Visual Basic
1
.Cells(FindedRow, Rows(2).Find("EFFECTIVE DATE").Column) = CDate(Me.TextBox_EFFECTIVE_DATE)
пропущена точка перед указанием на столбец, исправьте (во многих местах этого модуля) по типу как:
Visual Basic
1
.Cells(FindedRow, .Rows(2).Find("EFFECTIVE DATE").Column) = CDate(Me.TextBox_EFFECTIVE_DATE)
Ошибка в том, что номер колонки ищется не на нужном скрытом листе AD_EVALUATION_STATUS, а на активном - MAIN (там нет названий колонок во второй строке). Исправленный пример во вложении:
Вложения
Тип файла: rar AD-CN EVALUATION COMPLIANCE REPORT FORM.rar (87.1 Кб, 26 просмотров)
1
124 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 249
16.10.2014, 13:28  [ТС]
СПАСИБО!!!
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
16.10.2014, 13:30
А за перевод?...

Добавлено через 1 минуту
0
124 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 249
16.10.2014, 13:31  [ТС]
Цитата Сообщение от Антихакер32 Посмотреть сообщение
А за перевод?...
И за перевод спасибо.
Но английским владею хорошо. Программный язык хромает.
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
16.10.2014, 13:33
..в следующий раз я вам переведу на албанский.. посмотрим как вы владеете
0
124 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 249
16.10.2014, 14:23  [ТС]
mc-black, проверил работоспособность. Ошибка не вылетает, однако внесенные изменения тоже не сохраняет.....

Добавлено через 7 минут
И интересно почему ищет на активном - MAIN, а не на нужном скрытом листе AD_EVALUATION_STATUS?
Я вроде установил свойство для листа Sheets("AD_EVALUATION_STATUS").Visible = True и активировал его Sheets("AD_EVALUATION_STATUS").Activate

Добавлено через 38 секунд
Антихакер32, как Вы думаете?
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
16.10.2014, 14:42
Работать с активным листом считается не самым быстрым и надёжным способом. Не вникал особо в код, возможно там в промежутках где-то меняется активный лист. Лучше все объекты диапазонов (Range, Cell(s), Row(s), Column(s)) относить напрямую на объект листа - объектной переменной листа или неименованным объектом в блоке With, то есть после точки.

Добавлено через 1 минуту
Даже вмешательство пользователя во время "долгого" макроса, использующего активные листы/книги/ячейки может повлиять на корректную работу макросов.
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
16.10.2014, 14:50
Странно что вы пользуетесь активным листом..
обычно при записи макроса пошеться ActiveShet подразумевается что рабочий лист в период выполнения не изменится, а вообще правильнее объявлять Sheets("Лист1")
ну.. кому как нравится, у кого больше свободного времени для исправления проблем ))

Добавлено через 3 минуты
я это знаю потому.. что вообще стараюсь не пользоваться авто-записью макроса..
а если и пользуюсь, то только подсмотреть .. что там буржуйская автоматика пишет, ..куда ссылается )))
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
16.10.2014, 14:51
Цитата Сообщение от ac1-caesar Посмотреть сообщение
однако внесенные изменения тоже не сохраняет...
Вероятно программа не работает. Трудно ответить на такой вопрос, если неизвестно ТЗ к программе (что она подразумевает под "сохранением").
0
124 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 249
16.10.2014, 14:55  [ТС]
Цитата Сообщение от Антихакер32 Посмотреть сообщение
а вообще правильнее объявлять Sheets("Лист1")
В принципе у меня в коде так и записано: With Sheets("AD_EVALUATION_STATUS").
Что интересно, раньше не было такой ошибки и все работало нормально, но в процессе доработки стала появляться. Не помню в какой момент что поменялось, но в принципе это не так важно, важно что записано верно, однако не работает.
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
16.10.2014, 15:01
перепишите весь код заново, обнаружте ошибку, и до вас сразу-же дойдёт просветление

Добавлено через 1 минуту
понимаю.. этот способ самый радикальный зато безотказный .. ))
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
16.10.2014, 15:33
Антихакер32, категорически не согласен. Отладка - наше всё. Поставить точки останова начиная с обработчика нажатия на кнопку "Save" и пробежаться пошагово, пользуясь Immediate, Locals. На всех этапах будет понятно что и где происходит и можно поймать то место, где что-то пошло не так.
0
124 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 249
16.10.2014, 16:09  [ТС]
....
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
16.10.2014, 16:25
Там по причине, мне непонятной, после строки
Visual Basic
1
.Cells(FindedRow, .Rows(2).Find("AMENDMENT").Column) = Me.TextBox_AMENDMENT.Value
Вызывается... TextBox_AD_CN_No_Change()
Который (па-рам!) является ComboBox )))
Короче костыли для этого куска говнокода в следующем:
1. В начале процедуры SAVE_CHANGES поставить Application.EnableEvents = False, в конце - Application.EnableEvents = True
2. Везде проставить точку, как писал выше, так как в процессе лист все-таки скрывается (опять не знаю, откуда возникает событие).
В принципе так сохранение начинает работать без сбоев. Но весь этот код, если честно - редки кусок говна (простите мой французский). Его надо перерабатывать. Начать можно с Option Explicit и взяться объявлять все переменные. Избавиться от активации окон. Сделать код без огромных кусков повторов. Улучшить можно много что. Главное - должны исчезнуть непонятные вещи типа запуска обработчика в том месте, где он не должен запускаться.
0
124 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 249
16.10.2014, 16:43  [ТС]
Спасибо, буду работать.
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
16.10.2014, 16:59
Может быть я слишком критично отозвался о программе, сама идея обращаться к колонкам по именам в общем хороша для дальнейшей работы с кодом - не придется переписывать всё подряд, если столбцы сдвинутся со своих мест. Попробовал поработать над одной из процедур - макрос стал сохранять значение заполненной формы.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Sub SAVE_CHANGES()
    Dim CurADNumber As String
    Dim RezPoiskaAD As Range
    Dim FindedRow As Long
    
    CurADNumber = Me.TextBox_AD_CN_No.Value
    If CurADNumber <> "" Then
        With ThisWorkbook.Worksheets("AD_EVALUATION_STATUS")
            .Unprotect Password:="123"
            Set RezPoiskaAD = .Columns(1).Find(What:=CurADNumber, LookIn:=xlFormulas, _
                LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                MatchCase:=False, SearchFormat:=False)
            If Not RezPoiskaAD Is Nothing Then
                FindedRow = RezPoiskaAD.Row
                .Cells(FindedRow, .Rows(2).Find("AMENDMENT").Column) = Me.TextBox_AMENDMENT.Value
                .Cells(FindedRow, .Rows(2).Find("EFFECTIVE DATE").Column) = CDate(Me.TextBox_EFFECTIVE_DATE)
                .Cells(FindedRow, .Rows(2).Find("SUPERSEDES").Column) = Me.TextBox_SUPERSEDES.Value
                .Cells(FindedRow, .Rows(2).Find("SUBJECT").Column) = Me.TextBox_SUBJECT.Value
                
                If Me.OptionButton_ONE_TIME.Value = True Then
                    .Cells(FindedRow, .Rows(2).Find("ONE TIME").Column) = "X"
                Else
                    .Cells(FindedRow, .Rows(2).Find("ONE TIME").Column) = ""
                End If
                
                If Me.OptionButton_REPETITIVE.Value = True Then
                    .Cells(FindedRow, .Rows(2).Find("REPETETIVE").Column) = "X"
                Else
                    .Cells(FindedRow, .Rows(2).Find("REPETETIVE").Column) = ""
                End If
                
                If Me.OptionButton_OPTIONAL.Value = True Then
                    .Cells(FindedRow, .Rows(2).Find("OPTIONAL").Column) = "X"
                Else
                    .Cells(FindedRow, .Rows(2).Find("OPTIONAL").Column) = ""
                End If
                
                If Me.CheckBox_AIRFRAME.Value = True Then
                    .Cells(FindedRow, .Rows(2).Find("AIRFRAME").Column) = "X"
                Else
                    .Cells(FindedRow, .Rows(2).Find("AIRFRAME").Column) = ""
                End If
                
                If Me.CheckBox_APPLIANCE.Value = True Then
                    .Cells(FindedRow, .Rows(2).Find("APPLIANCE").Column) = "X"
                Else
                    .Cells(FindedRow, .Rows(2).Find("APPLIANCE").Column) = ""
                End If
                
                If Me.CheckBox_ENGINE.Value = True Then
                    .Cells(FindedRow, .Rows(2).Find("ENGINE").Column) = "X"
                Else
                    .Cells(FindedRow, .Rows(2).Find("ENGINE").Column) = ""
                End If
                
                .Cells(FindedRow, .Rows(2).Find("REMARKS").Column) = Me.TextBox_APPLICABILITY_REMARKS.Value
                .Cells(FindedRow, .Rows(2).Find("REFERENCES").Column) = Me.TextBox_REFERENCE.Value
                .Cells(FindedRow, .Rows(2).Find("THRESHOLD").Column) = Me.TextBox_THRESHOLD.Value
                .Cells(FindedRow, .Rows(2).Find("DEADLINE").Column) = Me.TextBox_DEADLINE.Value
                .Cells(FindedRow, .Rows(2).Find("INTERVAL").Column) = Me.TextBox_INTERVAL.Value
                .Cells(FindedRow, .Rows(2).Find("EO REF").Column) = Me.TextBox_EO_REF.Value
                .Cells(FindedRow, .Rows(2).Find("TASK CARD").Column) = Me.TextBox_TASK_CARD.Value
                
                If Me.CheckBox_0157.Value = True Then
                    .Cells(FindedRow, .Rows(2).Find("0157").Column) = "X"
                Else
                    .Cells(FindedRow, .Rows(2).Find("0157").Column) = ""
                End If
                
                If Me.CheckBox_0277.Value = True Then
                   .Cells(FindedRow, .Rows(2).Find("0277").Column) = "X"
                Else
                    .Cells(FindedRow, .Rows(2).Find("0277").Column) = ""
                End If
                
                If Me.CheckBox_0292.Value = True Then
                    .Cells(FindedRow, .Rows(2).Find("0292").Column) = "X"
                Else
                    .Cells(FindedRow, .Rows(2).Find("0292").Column) = ""
                End If
                
                If Me.CheckBox_24837.Value = True Then
                    .Cells(FindedRow, .Rows(2).Find("24837").Column) = "X"
                Else
                    .Cells(FindedRow, .Rows(2).Find("24837").Column) = ""
                End If
                
                .Cells(FindedRow, .Rows(2).Find("DESCRIPTION").Column) = Me.TextBox_DESCRIPTION.Value
                .Cells(FindedRow, .Rows(2).Find("EVALUATED BY Name").Column) = Me.TextBox_EVALUATED_BY_NAME.Value
                .Cells(FindedRow, .Rows(2).Find("EVALUATED BY Date").Column) = Me.TextBox_EVALUATED_BY_DATE.Value
                .Cells(FindedRow, .Rows(2).Find("DUPLICATED EVALUATION Name").Column) = Me.TextBox_DUPLICATED_BY_NAME.Value
                .Cells(FindedRow, .Rows(2).Find("DUPLICATED EVALUATION Date").Column) = Me.TextBox_DUPLICATED_BY_DATE.Value
            End If
            .Protect Password:="123"
        End With
    Else
        MsgBox "(AD/CN No) field is empty, please fill it before save"
    End If
End Sub
0
124 / 3 / 0
Регистрация: 29.07.2013
Сообщений: 249
16.10.2014, 17:04  [ТС]
Да, спасибо.
Во первых код реально стал работать. Во вторых к критике отношусь положительно, по Вашей критике приступаю к переделке кода.
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
16.10.2014, 17:13
Исправленная процедура SAVE_NEW:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Sub SAVE_NEW()
    Dim CurADNumber As String
    Dim lLastRow As Long
    
    CurADNumber = Me.TextBox_AD_CN_No.Value
    If Me.TextBox_AD_CN_No <> "" Then
        With ThisWorkbook.Worksheets("AD_EVALUATION_STATUS")
            .Unprotect Password:="123"
            lLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
            .Cells(lLastRow, .Rows(2).Find("AD/CN NO").Column) = Me.TextBox_AD_CN_No.Value
            .Cells(lLastRow, .Rows(2).Find("AMENDMENT").Column) = Me.TextBox_AMENDMENT.Value
            .Cells(lLastRow, .Rows(2).Find("EFFECTIVE DATE").Column) = Me.TextBox_EFFECTIVE_DATE.Value
            .Cells(lLastRow, .Rows(2).Find("SUPERSEDES").Column) = Me.TextBox_SUPERSEDES.Value
            .Cells(lLastRow, .Rows(2).Find("SUBJECT").Column) = Me.TextBox_SUBJECT.Value
            
            If Me.OptionButton_ONE_TIME.Value = True Then
                .Cells(lLastRow, .Rows(2).Find("ONE TIME").Column) = "X"
            End If
            
            If Me.OptionButton_REPETITIVE.Value = True Then
                .Cells(lLastRow, .Rows(2).Find("REPETETIVE").Column) = "X"
            End If
            
            If Me.OptionButton_OPTIONAL.Value = True Then
                .Cells(lLastRow, .Rows(2).Find("OPTIONAL").Column) = "X"
            End If
            
            If Me.CheckBox_AIRFRAME.Value = True Then
                .Cells(lLastRow, .Rows(2).Find("AIRFRAME").Column) = "X"
            End If
            
            If Me.CheckBox_APPLIANCE.Value = True Then
                .Cells(lLastRow, .Rows(2).Find("APPLIANCE").Column) = "X"
            End If
            
            If Me.CheckBox_ENGINE.Value = True Then
                .Cells(lLastRow, .Rows(2).Find("ENGINE").Column) = "X"
            End If
            
            .Cells(lLastRow, .Rows(2).Find("REMARKS").Column) = Me.TextBox_APPLICABILITY_REMARKS.Value
            .Cells(lLastRow, .Rows(2).Find("REFERENCES").Column) = Me.TextBox_REFERENCE.Value
            .Cells(lLastRow, .Rows(2).Find("THRESHOLD").Column) = Me.TextBox_THRESHOLD.Value
            .Cells(lLastRow, .Rows(2).Find("DEADLINE").Column) = Me.TextBox_DEADLINE.Value
            .Cells(lLastRow, .Rows(2).Find("INTERVAL").Column) = Me.TextBox_INTERVAL.Value
            .Cells(lLastRow, .Rows(2).Find("EO REF").Column) = Me.TextBox_EO_REF.Value
            .Cells(lLastRow, .Rows(2).Find("TASK CARD").Column) = Me.TextBox_TASK_CARD.Value
            
            If Me.CheckBox_0157.Value = True Then
                .Cells(lLastRow, .Rows(2).Find("0157").Column) = "X"
            End If
            
            If Me.CheckBox_0277.Value = True Then
               .Cells(lLastRow, .Rows(2).Find("0277").Column) = "X"
            End If
            
            If Me.CheckBox_0292.Value = True Then
                .Cells(lLastRow, .Rows(2).Find("0292").Column) = "X"
            End If
            
            If Me.CheckBox_24837.Value = True Then
                .Cells(lLastRow, .Rows(2).Find("24837").Column) = "X"
            End If
            
            .Cells(lLastRow, .Rows(2).Find("DESCRIPTION").Column) = Me.TextBox_DESCRIPTION.Value
            .Cells(lLastRow, .Rows(2).Find("EVALUATED BY Name").Column) = Me.TextBox_EVALUATED_BY_NAME.Value
            .Cells(lLastRow, .Rows(2).Find("EVALUATED BY Date").Column) = Me.TextBox_EVALUATED_BY_DATE.Value
            .Cells(lLastRow, .Rows(2).Find("DUPLICATED EVALUATION Name").Column) = Me.TextBox_DUPLICATED_BY_NAME.Value
            .Cells(lLastRow, .Rows(2).Find("DUPLICATED EVALUATION Date").Column) = Me.TextBox_DUPLICATED_BY_DATE.Value
            
            .Protect Password:="123"
        End With
    Else
        MsgBox "(AD/CN No) field is empty, please fill it before save"
    End If
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.10.2014, 17:13
Помогаю со студенческими работами здесь

ошибка "Run-time error '91': Object variable or With block variable not set"
приветствую! имеется документ на нескольких листах, заполняется по дням соответственно на многих листах есть даты текущего периода, в...

Ошибка Run-time error '91': Object varialble or With block variable not set
Добрый день. При скрытии одной из форм возникает данная ошибка. Дебаг подчеркивает строку, где эта форма вызывалась, вообще в другой...

Run-time error '91': Oject variable or with block variable not set
Всем доброго! Есть такая задача: В глобальном модуле Public myRange As Range На 1-й странице кнопка, которая при нажатие...

Неизвестная ошибка ExcellVBA ACCESS: Run-time error '91' Object varible or With block variable not set
Есть программа код ниже она обращается к данным в ACCESS выдает ошибку Run-time error '91' Object varible or With block variable not...

В момент закрытия формы выводится сообщение "Run-time error '91' Object variable or With-block not set"
Программа запускается - работает - выводит форму. Потом нажимаю крестик на форме (типа закрываю форму) в этот момент выводится сообщение об...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru