Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Вызов процедуры ??? Добавлено: 05.03.08 04:26  

Автор вопроса:  Igor
Привет всем!

Помогите разобраться.....

объявлена примерно такая процедура:

Public Sub SNScan(ToolSheet, ToolName As String, SNCol, HRSCol As Byte)
   Bla, bla, bla...
End Sub

Переменные внутри не меняются. Используется только их значение.

Вызов SNScan ("Bla1", "Bla2", 5, 6) - не прокатывает
(сообщение о синтаксической ошибке)

Вызов SNScan "Bla1", "Bla2", 5, 6 - работает!

Вопрос - почему?
Сам вид второго вызова меня просто бесит. На мой взгляд, крайне хреново читабелен..... В тексте параметры просто теряются на общем фоне.
Можно ли как-нибудь выкрутиться и оставить скобки.
Если объявляется один параметр, то все работает и со скобками.

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 el-paso



Вопросов: 3
Ответов: 164
 Профиль | | #1 Добавлено: 05.03.08 16:07
И что тут удивительного? Это синтаксис VB такой.
Если вызываешь просто процедуру, то скобки указывать не надо.

Если уж непременно хочется со скобками, то юзай конструкцию:
Call SNScan("Bla1", "Bla2", 5, 6)

Ответить

Номер ответа: 2
Автор ответа:
 Igor



Вопросов: 3
Ответов: 5
 Профиль | | #2 Добавлено: 05.03.08 16:52
Спасибо!

С VBA я работаю по необходимости. Так бы ни за что с ним не связался.
У меня еще вопрос.

VB запросто проглатывает необъявленные переменные, и работает с ними как ни в чем не бывало. Собственно об этом я и раньше знал. Это очень плохо! Можно ли как-то отменить эту несуразность директивой или еще как?

Ответить

Номер ответа: 3
Автор ответа:
 Nytrogen



Вопросов: 18
Ответов: 186
 Профиль | | #3 Добавлено: 05.03.08 17:07
В начале кода модуля напиши
Option Explicit


Тогда, при обращении к необъявленной переменной, компилятор будет орать, что и нам и требуется =)

Также можно сделать, чтобы эта опция компилятора автоматом добавлялась в код. Это делается в меню редактора VBA:
Tools - Options - Require Variable Declaration

Ответить

Номер ответа: 4
Автор ответа:
 Igor



Вопросов: 3
Ответов: 5
 Профиль | | #4 Добавлено: 06.03.08 04:32
Громадное спасибо!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам