Скачать MetaTrader 5

Кто силён в VBA и работе с MS Office?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Опубликуй программу в Маркете и продавай ее миллионам трейдеров!
Alexandr Bryzgalov
27375
Alexandr Bryzgalov 2016.03.25 07:56 

В общем такой вопрос.

Создал шаблон(удалил), в нём(при редактировании шаблона) при запуске открывается форма и выполняется макрос, всё работает.

Но вот как только создаётся документ по этому шаблону, то форма открывается, а сам макрос не срабатывает.

Кто может подсказать в чём причина. Макросы разрешены. Word 2010

Dmitry Fedoseev
42877
Dmitry Fedoseev 2016.03.25 08:36  
Что-то не вижу макроса. Может не туда смотрю.
Alexandr Bryzgalov
27375
Alexandr Bryzgalov 2016.03.25 08:39  

может не правильно выразился по поводу макроса )


Alexandr Bryzgalov
27375
Alexandr Bryzgalov 2016.03.25 08:40  
я макросом назвал код, который выполняется по нажатию кнопок в форме, может это как-то по другому называется )
Alexandr Bryzgalov
27375
Alexandr Bryzgalov 2016.03.25 08:42  
вот ещё раз, может не то скинул первый раз )
Файлы:
yu8e27.zip 26 kb
Alexey Viktorov
6710
Alexey Viktorov 2016.03.25 08:47  

Я тоже почему-то не вижу.


Dmitry Fedoseev
42877
Dmitry Fedoseev 2016.03.25 08:48  
Alexandr Bryzgalov:
я макросом назвал код который выполняется по нажатию кнопок в форме, может это как-то по другому называется )
Правильно, так и называется. Теперь есть. Но изначально что-то глючит. Один раз жму - ничего, второй раз - неправильно дата введена.  
Alexandr Bryzgalov
27375
Alexandr Bryzgalov 2016.03.25 08:49  
Dmitry Fedoseev:
Правильно, так и называется. Теперь есть. Но изначально что-то глючит. Один раз жму - ничего, второй раз - неправильно дата введена.  

ну это да, в логику забито так, что бы правильность даты проверялась.

если запустить кнопкой из редактора кода, то всё работает.

а если запускать через создание документа по шаблону то нет.

Alexandr Bryzgalov
27375
Alexandr Bryzgalov 2016.03.25 08:51  

вот этот участок отвечает за корректность введённой даты:

With MyForm.tbDate
   If Not IsDate(.Text) Then  'если данные введены не в формате даты, то
      MsgBox "В поле ""Дата составления заявления"" неверно введены данные."   'выводим сообщение
      .Text = Format(Now, "dd MMMM yyyy") 'автоматически заполняем поле текущей датой
      .SetFocus   'фокус на поле "Дата"
      .SelStart = 0  '
      .SelLength = Len(.Text) 'выделяем весь текст в поле, начиная с левого края
      Exit Sub
   Else
      Set rng = bm("data").Range 'присваиваем переменной rng ссылку на закладку "data"
      rng.Text = .Text & " г."   'определяем новый текст закладки
      bm.Add "data", rng   'заменяем закладку
   End If
End With

но он не влияет на работу. пробовал убирал.

Dmitry Fedoseev
42877
Dmitry Fedoseev 2016.03.25 08:56  
Даже с пустой формой - один раз жму ничего, второй раз -сообщение про дату, снова жму - ничего, еще раз - сообщение и там можно бесконечно. 
Alexandr Bryzgalov
27375
Alexandr Bryzgalov 2016.03.25 09:07  
Dmitry Fedoseev:
Даже с пустой формой - один раз жму ничего, второй раз -сообщение про дату, снова жму - ничего, еще раз - сообщение и там можно бесконечно. 

а срабатывает ли, если открыть в ворде как шаблон, нажать Alt+F11 и запустить выполнение зелёным треугольником?

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий