Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
3 / 3 / 0
Регистрация: 17.05.2015
Сообщений: 39
Access

VBA + нормальный дебаг, реальность или утопия

12.07.2018, 12:47. Показов 3302. Ответов 54
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую всех читающих!) Для людей у которых не хватает терпения либо берегут глаза рекомендую перейти сразу на 4й абзац этого "длиннопоста"

Только начиная свое непродолжительное (на данный момент) знакомство с VBA я не мог не отметить ужасного вида стандартный SDK. В те первые дни наполненые суровой реальностью ограниченной длинны строк кода(это когда вставляешь SQL, а среда такая: "а не побить ли мне его на отдельные строчки чертекак!? отличная идея!") и удивительно "полезным" контролем синтаксиса (и настолько же удивительно навязчивым: "Не, едрен батон, вот после этого знака "равно" ты должОн чтот присвоить, и мне пофиг, что ты пошел копировать значение в другом участке кода - Сначала нажми ка на "Окей" моего безумно полезного меседжбокса" ) а уж проблемы с кодировкой мммм... мои любимые) я думал так: "Да ладно, эт не надолго, привыкнуть только, а там задачку допилю и покеда".

Не тут-то было товарищи! Судя по всему я тут надолго) Что плавно подводит к сути вопроса. Озвученные проблемы это так, мелкие неудобства, как например крокозябры вместо кирилицы при вставке - известно как боротся. с остальными же можно и мирится. Но вот чего мне действительно не хватает как человеку изнеженному вижуал студией, нетбинсом, да и еклипсом, так это адекватного дебага.

Да, в встроенной пародии на SDK есть брейк поинты. Да, компилятор на этапе компиляции сообщает иногда полезную инфу об ошибке. Бывает даже так, что при ошибке правильно указывает на нужную строчку, а не на начало SUB'a (!!)... Но мне этого уже не достаточно. "Проект" уже "распух" до той стадии когда начинаешь смотреть на некоторые участки кода с мыслью "А ты ли это писал?" и "что это вообще здесь имелось в виду?". Потому хотелось бы в случае ошибки вроде "Попытки присвоить null значению Variant" или там "у этого класса нет такого свойства" что-то кроме "крайне полезной" справки по этой ошибке. А конкретно: нормальный стактрейс ошибки с указанием всех ключевых елементов критичного пути. Разве я хочу слишком многого?

Потому нужен совет, либо ссылка на соответствующую информацию - как заменить или проапгейдить "SDK по умолчанию" таким образом чтобы там появился нормальный дебаг. Чтобы новая SDK открывалась вместо обычного редактора VBA. Например - я знаю что в вижуал студии это все есть. Есть даже возможность компиляции VB кода. Но как открыть БД аксесс кроме как через БДО конекторы? мне то нужно редактировать и дебажить код форм и прочую шушеру а не работать с базой...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.07.2018, 12:47
Ответы с готовыми решениями:

Утопия или реальность
Доброго всем времени Задался я целью создать себе (помощника в работе) USB Диск на котором бы было следующие: 1)Windows PE и нужные...

VBA это миф или реальность в русской раскладке?
VBA это миф или реальность в русской раскладке?

Где можно скачать нормальный хелп или литературу по VBA для office2000?
здравствуй, Народ! если не трудно подскажи адреса где можно скачать нормальный хелп или литературу по VBA для office2000 ато в...

54
Модератор
Эксперт MS Access
 Аватар для shanemac51
12513 / 5087 / 814
Регистрация: 07.08.2010
Сообщений: 14,985
Записей в блоге: 4
18.07.2018, 12:15
Студворк — интернет-сервис помощи студентам
как минимум
Visual Basic
1
2
3
4
5
Option Explicit
Dim ЯДата AS Boolean
sub mm180718()
ядата = false 
ebd sub
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
18.07.2018, 12:26
Цитата Сообщение от DevilsDen Посмотреть сообщение
Комрад SoftIce, который мне уже помогал на этом форуме советует сидеть на попе ровно и ждать вижуал студии для офиса. Ну чтоже будем ждать)
В VS2005 я создавал проект Office Excel и работал с ним как с бд, тут вы имеете ввиду работу именно в приложении Excel и VS как его родное IDE?
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12513 / 5087 / 814
Регистрация: 07.08.2010
Сообщений: 14,985
Записей в блоге: 4
18.07.2018, 12:30
anton-sf, хотя вы правы --с буквой я не работает, а с ы --работает
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Option Explicit
Dim ыДата As Boolean
Dim wДата As Boolean
Dim яДата As Boolean
 
 
Sub mm180718()
ыДата = False
wДата = False
ЯДата = True
Debug.Print wДата
Debug.Print ыДата
Debug.Print ЯДата
End Sub
ПРИЧЕМ И СЛУЧАЕ, ЕСЛИ я --не первая буква
Visual Basic
1
Dim ДатаЯ As Boolean
1
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
18.07.2018, 12:40
shanemac51, есть вещь пострашнее
Переименуйте лист (в Project Explorer) в Лист1КОПИЯ,
создайте процедуру в которой есть обращение к данному листу:
Visual Basic
1
 Debug.Print Лист1КОПИЯ.Name
сохраните книгу, потом
переименуйте лист (всё в том же Project Explorer) в Лист1Копия и
получите ошибку variable not defined, но это не всё,
вы переименовываете обратно как было (Лист1КОПИЯ) и
всё равно будет ошибка. Приехали так сказать
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
18.07.2018, 12:57
Цитата Сообщение от anton-sf Посмотреть сообщение
получите ошибку variable not defined, но это не всё,
вы переименовываете обратно как было (Лист1КОПИЯ) и
всё равно будет ошибка. Приехали так сказать
Win 7 Excel 2010х32 у меня таких проблем нет....
0
1069 / 107 / 4
Регистрация: 19.12.2012
Сообщений: 458
18.07.2018, 14:11
Цитата Сообщение от anton-sf Посмотреть сообщение
получите ошибку variable not defined, но это не всё,
вы переименовываете обратно как было (Лист1КОПИЯ) и
всё равно будет ошибка. Приехали так сказать
Воспроизводится!
косячокс однако ...
+100
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
18.07.2018, 14:28
Цитата Сообщение от toiai Посмотреть сообщение
Win 7 Excel 2010х32 у меня таких проблем нет....
У меня Win10x64 и Excel 2003 11.8412.8405 SP3, проблема в заглавной букве, "Я", возможно и другие ("Э", "Ю"), возможно проявляется не у всех

Цитата Сообщение от shanemac51 Посмотреть сообщение
хотя вы правы --с буквой я не работает
Цитата Сообщение от shanemac51 Посмотреть сообщение
ПРИЧЕМ И СЛУЧАЕ, ЕСЛИ я --не первая буква
Visual Basic
1
Dim ДатаЯ As Boolean
а у меня и такой вариант вызывает variable not defined
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
18.07.2018, 14:40
а вот и картинка по этому поводу
Миниатюры
VBA + нормальный дебаг, реальность или утопия  
0
18.07.2018, 14:47

Не по теме:

Цитата Сообщение от anton-sf Посмотреть сообщение
а вот и картинка по этому поводу
У Вас же на картинке ДатяЯ и датая. Конечно будет ошибка.

0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
18.07.2018, 14:57
SoftIce, ну ёлки, мой косяк ( Без очков я седня, но суть та же:
Миниатюры
VBA + нормальный дебаг, реальность или утопия  
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12513 / 5087 / 814
Регистрация: 07.08.2010
Сообщений: 14,985
Записей в блоге: 4
18.07.2018, 15:12
Цитата Сообщение от SoftIce Посмотреть сообщение
У Вас же на картинке ДатяЯ и датая. Конечно будет ошибка.
я проверяла каждую букву на регист и кириллица/латиница
увы все четко
ю --работает
я--не работает
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
18.07.2018, 15:14
anton-sf, у вас опять старая картинка.
У меня отрабатывает нормально:
Visual Basic
1
2
3
4
5
Option Explicit
Sub test()
Dim ДатаЯ As Boolean
ДатаЯ = False
End Sub
и так
Visual Basic
1
2
3
4
5
Option Explicit
Sub test()
Dim ДатаЯ As Boolean, датая As Boolean
датая = False
End Sub
В чем проблема?
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12513 / 5087 / 814
Регистрация: 07.08.2010
Сообщений: 14,985
Записей в блоге: 4
18.07.2018, 15:17
попробуйте
Visual Basic
1
2
3
4
5
6
7
Option Explicit
Sub test()
Dim ДатаЯ As Boolean
Dim ДатаЮ As Boolean
датая = False
датаю=false
End Sub
на других буквах и латинице --все работает, причем датаю превращается автоматически в ДатаЮ
на букве Я -не работает
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
18.07.2018, 15:39
shanemac51, у вас объявление переменной в одном регистре, а присваивание значение переменной в другом регистре, см. мой второй пример, если добавить в объявление правильный регистр, все заработает. Из этого можно сделать вывод, что переменные регистрозависимые, просто в отладчике переменная подстраиваются под регистр, который задается в объявлении переменной (Dim...) При русской "Я" в отладчике что-то недорабатывает, поэтому можно создать две переменных с одним и тем же набором знаков в разном регистре см. мой пример (что нельзя сделать, например с английскими буквами - здесь механизм отрабатывает штатно). ИМХО.

Добавлено через 4 минуты
Visual Basic
1
2
3
4
5
6
7
Sub test()
Dim ДатаЯ As Long, датая As Long
ДатаЯ = 1
датая = 2
Debug.Print ДатаЯ
Debug.Print датая
End Sub
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
18.07.2018, 15:40
SoftIce,
Цитата Сообщение от toiai Посмотреть сообщение
Win 7 Excel 2010х32 у меня таких проблем нет....
Приготовил вам видосик. Напомню предысторию: к имени листа добавил "КОПИЯ", в коде изменения учёл, сохранил книгу. Потом мне капс не понравился и изменил в имени листа "КОПИЯ" на "Копия", в коде изменения учел, сохранил и закрыл. Потом открываю и вот что получилось (видос): https://youtu.be/ZFgVMhq15Ow
1
es geht mir gut
 Аватар для SoftIce
11275 / 4761 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
18.07.2018, 15:41
Ну а что вы хотели ? Во всех нормальных языках так
Миниатюры
VBA + нормальный дебаг, реальность или утопия  
2
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
18.07.2018, 15:45
SoftIce, суть в том, что везде пишут что в VBA регистронезависимые переменные. По факту это не так - регистрозависимые см.п34.
И shanemac51, сделала интересные наблюдения.
Я предполагаю регистронезависимость пропиливает сам отладчик (меняя названия на те, которые в объявлении dim...), в трансляторе существуют только регистрозависимые переменные.
0
18.07.2018, 15:49

Не по теме:

Цитата Сообщение от bedvit Посмотреть сообщение
SoftIce, суть в том, что везде пишут что в VBA регистронезависимые переменные.
Да я знаю, просто забавно получается, пока на грабли не наступил :)

0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
18.07.2018, 15:51
Цитата Сообщение от SoftIce Посмотреть сообщение
Да я знаю, просто забавно получается, пока на грабли не наступил
Сам, до этого поста, был уверен в том же
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
18.07.2018, 15:52
bedvit, ваш вариант непригоден так как для vba это две разные переменные !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.07.2018, 15:52

Мусор в движке реальность или миф, стоит удалить и поставить заново, или никак это не влияет
Друзья, подскажите пожалуйста, только без догадок, а те кто реально знает и понимает о чем речь! Суть такова, я сделал сайт на...

фокусы или реальность?
http://www.youtube.som/watch?v=2ODW-ntPHSU часто вижу такого характера ролики, но не понимаю его сути. либо там КПД 1%, то как тогда с...

реальность или миф ?!
Добрый день, УВ! вот както общался с другом, он говорит что знает легкий способ заработать в интернете и т.д. ! Суть в том что, есть...

Бред или Реальность?
Решила сегодня проверить тИЦ liveinternet.ru Результат меня ошарашил - 15 000 b-( Может кто-нибудь объяснить?

whois, миф или реальность...
Доброго времени суток! хотелось бы уточнить один вопрос, реально ли сделать на делфи Whois? тоесть у меня выводятся ИП адреса, а рядом...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru