powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Syntax error
17 сообщений из 42, страница 2 из 2
Syntax error
    #34813818
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне сейчас нужно сделать так чтобы компилятор , увидев строку в коде типа "if >0 then" при запуске-выдавал мне ошибку в Экселе, а не показывал строку в VB, и не показывал окно компилятора в VB, или показывал его в Excel
В общем сделать так чтобы при любой ошибке компилятор выдавал ошибку в Excel-чтобы код был не доступен, on error goto - при таких ошибках не работает
как написать чтобы при любой ошибке выдавал сообщение об ошибке а не окно компилятора???
...
Рейтинг: 0 / 0
Syntax error
    #34813886
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или мне нужна функция которая проверят строку на синкасис VB
напрмер функция(if > 0 then msgbox("hello") end if ) выдаст true если корректная строка
???
...
Рейтинг: 0 / 0
Syntax error
    #34813936
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще то в VBA не компилятор, а интерпретатор. А во-вторых, зачем вам такой изврат над бейсиком ?

...
Рейтинг: 0 / 0
Syntax error
    #34813944
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
другого пути я пока не вижу- так как у меня именно такая ситуация
...
Рейтинг: 0 / 0
Syntax error
    #34815559
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-dukeВообще то в VBA не компилятор, а интерпретатор. А во-вторых, зачем вам такой изврат над бейсиком ? Вообще-то наоборот - VBA компилятор, а не интерпретатор. На этом Klera и горит и гореть будет... Как я понял, Klera желает дать юзерам возможность писать макросы прямо на листе Экселя, и запретить им вызывать VBA. Она уже научилась копировать строки с листа в модуль, но застряла на том что при невозможности скомпилировать макрос из-за синтаксической ошибки VBA вываливается в свой редактор а не возвращает код ошибки.
...
Рейтинг: 0 / 0
Syntax error
    #34816343
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl big-dukeВообще то в VBA не компилятор, а интерпретатор. А во-вторых, зачем вам такой изврат над бейсиком ? Вообще-то наоборот - VBA компилятор, а не интерпретатор. На этом Klera и горит и гореть будет... Как я понял, Klera желает дать юзерам возможность писать макросы прямо на листе Экселя, и запретить им вызывать VBA. Она уже научилась копировать строки с листа в модуль, но застряла на том что при невозможности скомпилировать макрос из-за синтаксической ошибки VBA вываливается в свой редактор а не возвращает код ошибки.

точно
...
Рейтинг: 0 / 0
Syntax error
    #34816357
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну может можно что то сделать?
...
Рейтинг: 0 / 0
Syntax error
    #34816405
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может можно как то заблокировать код программы?
...
Рейтинг: 0 / 0
Syntax error
    #34816905
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хер*ёй занимаетесь, девушка.

Синтаксические ошибки невозможно обработать потому что программа просто не может при их наличии ни выполняться ни компилироваться. Простая аналогия: "Я не хочу, чтобы автомобиль без колес тупо валялся на дороге, пусть он поедет на сервис, там его обработают".

Чтобы сделать так как вы хотите, код нужно выполнять в стороннем интерпретаторе, который сам сгенерит ошибку, которую можно будет обработать. Пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Sub zzz()
Dim scr as Object
    On Error Goto errh
    Set scr = CreateObject("MSScriptControl.ScriptControl")
    scr.Language = "vbscript"
    scr.AddObject "ThisWorkbook", ThisWorkbook
    scr.AddCode "sub Activate()" & vbcrlf & "ThisWorkbook.Sheets(1).Activate" & vbcrlf & "sdl5,u.7jf y;y54 'синтаксическая ошибка" & vbcrlf & "End Sub"
    scr.Run "Activate"
    exit sub
errh:
    Msgbox Err.Description
    Msgbox scr.Error.Description
End Sub
...
Рейтинг: 0 / 0
Syntax error
    #34816940
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а немного разьяснить что есть что?
...
Рейтинг: 0 / 0
Syntax error
    #34817124
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SUPER

ОГРОМНОЕ СПАСИБО
...
Рейтинг: 0 / 0
Syntax error
    #34817205
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хммммммммммм......
возник вопрос, Antonariy эта конструкция будет работать на любой версии Excel и VB???
...
Рейтинг: 0 / 0
Syntax error
    #34818146
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да.
...
Рейтинг: 0 / 0
Syntax error
    #34818167
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поподробнее - Tools - References - Microsoft Script Control - и смотрим через F2 на его содержимое.
...
Рейтинг: 0 / 0
Syntax error
    #34820528
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyПоподробнее - Tools - References - Microsoft Script Control - и смотрим через F2 на его содержимое.

у меня на F2 ничего не происходит.
...
Рейтинг: 0 / 0
Syntax error
    #34821007
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для того, что бы выдать сообщение, нужна программа.

а раз syntax error то программы нет.
...
Рейтинг: 0 / 0
Syntax error
    #34823294
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kleraу меня на F2 ничего не происходит.Галочку поставили? Ok нажали? По F2 должен появиться броузер объектов.
...
Рейтинг: 0 / 0
17 сообщений из 42, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Syntax error
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]