На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Организуем VBA-FAQ! Если у Вас есть предложения, выскажитесь здесь: Пишем FAQ, интересно Ваше мнение
Популярные разделы FAQ:    user posted image Общие вопросы    user posted image Особенности VBA-кода    user posted image Оптимизация VBA-кода    user posted image Полезные ссылки

1. Старайтесь при создании темы указывать в заголовке или теле сообщения название офисного приложения и (желательно при работе с Office 95/97/2000) его версию. Это значительно сократит количество промежуточных вопросов.
2. Формулируйте вопросы как можно конкретнее, вспоминая (хотя бы иногда) о правилах ВЕЛИКОГО И МОГУЧЕГО РУССКОГО ЯЗЫКА, и не забывая, что краткость - сестра таланта.
3. Не забывайте использовать теги [сode=vba] ...текст программы... [/code] для выделения текста программы подсветкой!
4. Темы с просьбой выполнить какую-либо работу полностью за автора здесь не обсуждаются и переносятся в раздел ПОМОЩЬ СТУДЕНТАМ.
Модераторы: Old Bat, MIF
  
> Как прекратить(отменить ) выполнение функции.
    Можно ли в прицпепе остановить функциию ?
    Function Item_Send()

    End Function

    есть условие, если оно выполняется..то функция идет себе дальше, а если нет..то по идеи она должна отменяться..
    1) пробовал Exit Function -как то не очень помогло
    2) на goto ругается безбожно...
      на goto скорее всего ругается потому, что ты, на верное, ничего не даёшь в данном случае на выход.
      Это же функция пользователя? следовательно результат обработки должен быть хоть какой-то. Дай его.
        Exit Function как раз для выхода из функции. Другое дело, если вам нужно чтобы функция не всегда срабатывала. Если
        Цитата lord88 @
        Exit Function -как то не очень помогло
        , то - подозреваю - вам нужно Boolean-переменную уровня модуля и что-нибудь типа:
        ExpandedWrap disabled
          Public flag as boolean
           
          Function MyFunction()
            if flag = false then
              ...
          Мне требуется не то чтобы выход из функции сколько ее отмена , если не выполняется условие.

          ругается...на
          ExpandedWrap disabled
             Public flag as boolean
          если ставлю перед функцией то он предпологает окончание инструкции ...???
          если же помещаю в тело инструкции то ругается на синтаксис....

          в чем может быть загвоздка?
            То есть все-таки Exit.
            Покажите как написан ваш код

            К слову: переменные уровня модуля ставятся в самое начало модуля, до всех процедур, так же как и Public-переменная не может находиться в процедуре - поэтому у вас и ошибку выдавало. Но это проехали
              даже если ставлю в самое начало модуля, то все равно выводит "предполагается наличие окончания инструкции"
              какую ему инструкцию так и на пойму. В страшных глубинах инета нашел как остановить отсылку..за это отвечает Item_Send = False, а если писать Exit то получается парадокс...выходя из функции отправки сразу же письмо уходит


              пол дня мучился. оператор If не работал.. а начал писать ответ все заработало:)) ура,ура,ура)))
              вот рабочий вариант)
              ExpandedWrap disabled
                 
                Function Item_Send()
                Dim ints
                Dim a
                Dim b
                Set Myitem = Item.GetInspector ' ссылаюсь на CheckBox1 во вкладке Сообщение
                Set pgs = Myitem.ModifiedFormPages
                Set pg = pgs("Сообщение")
                Set ctls = pg.Controls
                Set ctl = ctls("CheckBox1")
                 
                If ctl.Value = True Then a=b Else Item_Send = False And ints = MsgBox("требуется подтверждение", 32, " требуется подтверждение")
                End Function
              Сообщение отредактировано: Old Bat -
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0271 ]   [ 16 queries used ]   [ Generated: 26.04.24, 04:09 GMT ]