Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Не всегда возвращает значение? Или? Добавлено: 25.02.09 22:41  

Автор вопроса:  AngryBadger
Всем привет! Объясню в чем суть. Есть код, результатом которого является возврат 12 значений. Вопрос! Почему, когда в конце пишу:
Userform1.show
Userform1.textbox1.value=sA&sB&sC&sD&sE&sF&sG&sH&sI&sJ&sK&sL 'тут можно -//-.text = -//-

в ТекстБоксе результат иногда не отражается!? Причем, в immediate все видно.

Ответить

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

Номер ответа: 1
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #1
Добавлено: 26.02.09 10:33
Показываешь модальную форму - один результат, немодальную - другой. Скорее всего так.

Ответить

Номер ответа: 2
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #2
Добавлено: 26.02.09 10:35
А, вообще-то нет, все не так. Невнимательно посмотрел твой код. Может просто дело в обновлении формы. Поставь форме .AutoRedraw=True Кажется так.

Ответить

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



Вопросов: 33
Ответов: 245
 Профиль | | #3 Добавлено: 26.02.09 11:10
.AutoRedraw = True
, а нету такого свойства у формы в ВБА((

Ответить

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



Вопросов: 13
Ответов: 348
 Профиль | | #4 Добавлено: 26.02.09 11:39
Может быть в к-нибудь переменной какая нибудь хрень типа Chr(7), chr(13), и т.п.
А ещё поиграйся с Userform1.textbox1.multiline.

Ответить

Номер ответа: 5
Автор ответа:
 AngryBadger



Вопросов: 33
Ответов: 245
 Профиль | | #5 Добавлено: 26.02.09 12:29
какая нибудь хрень типа Chr(7), chr(13)
- точно нет
Userform1.textbox1.multiline
- не понимаю, что это изменит (все равно поробовал - в итоге - тоже самое)

Ответить

Номер ответа: 6
Автор ответа:
 GDK



Вопросов: 13
Ответов: 348
 Профиль | | #6 Добавлено: 26.02.09 13:11
Если вначале содержится много пробелов и Multiline=0 то и видны будут только пробелы, а остальной текст съедет вправо и его не будет видно. В результате может быть вид как будто в текстбоксе нет текста.
Ну раз уж не выходит тогда может на самом деле не обновляется?
В immediate может чё то там и видно, а вот попробовать засунуть
Userform1.textbox1.text в Watch Window и прогнать макрос по шагам, отслеживая результаты, - эт дело.
В immediate как выводится и на каком этапе это происходит?

Ответить

Номер ответа: 7
Автор ответа:
 AngryBadger



Вопросов: 33
Ответов: 245
 Профиль | | #7 Добавлено: 26.02.09 14:00
Ставлю Точку Остановки перед UserForm1.Textbox1.Value = бла & бла & бла, все выводится debug.print, в Watch тоже самое - все видно. Да и если после UserForm1.Textbox1.Value = бла & бла & бла сделать MsgBox бла & бла & бла , то все значения выводятся.

Ответить

Номер ответа: 8
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #8
Добавлено: 26.02.09 14:24
А ты прослеживал в Immediate после UserForm1.Textbox1.Value = бла & бла & бла само значение UserForm1.Textbox1.Value? Если текст доходит, а оконко не обновляется, то в Immediate все выведется как положено. Каой может быть выход? Ну не знаю, вызови процедуру внутри формы, из которой задай Textbox1.Value = бла & бла & бла. Или узнай hWnd для TextBox и пульни туда текс через SendMessage с WM_SETTEXT. Это уж не может не подействовать! Правда hWnd находится в VBA через одно место..

Ответить

Номер ответа: 9
Автор ответа:
 GDK



Вопросов: 13
Ответов: 348
 Профиль | | #9 Добавлено: 26.02.09 15:00
Да уж, прямо глюк какой-то.
Тогда только методом тыка пробовать заставить его работать как надо. Напр., не
  1. Userform1.textbox1.value=sA&sB&sC&sD&sE&sF&sG&sH&sI&sJ&sK&sL

а типа
  1. Userform1.textbox1.value=sA&sB&sC&sD
  2. Userform1.textbox1.value=Userform1.textbox1.value & sE & sF & sG & sH & sI & sJ & sK & sL
.
Или типа
  1. Userform1.textbox1.value=sA&sB&sC&sD&sE&sF&sG&sH&sI&sJ&sK&sL
  2. BufText=Userform1.textbox1.value
  3. Userform1.textbox1.value=""
  4. Userform1.textbox1.value=BufText

Ответить

Номер ответа: 10
Автор ответа:
 Jasmin



Вопросов: 23
Ответов: 417
 Профиль | | #10 Добавлено: 26.02.09 16:49
Перерисовка формы в VBA:
  1. UserForm1.Show
  2. UserForm1.Repaint

Ответить

Номер ответа: 11
Автор ответа:
 fAndOrIn



Вопросов: 5
Ответов: 344
 Профиль | | #11 Добавлено: 26.02.09 19:26
Михаил a.k.a. AngryBadger, попробую высказать свои предложения, кто знает, вдруг снова пригодятся?
Как писал mc-black в #1, св-во ShowModal может оказать влияние, причем, наверно даже в случае вызова из модальной(немодальной) формы. Так вот:
Userform1.show 'этот шаг в случае модальной формы выполняется до тех пор, пока Userform1 не закроется (Unload.Me, Alt+F4, X)
Userform1.textbox1.value=sA&sB&sC&sD&sE&sF&sG&sH&sI&sJ&sK&sL 'этот шаг в случае модальной формы выполняется уже после закрытия Userform1(а надо ли нам это?)
А вот если попробовать поменять эти строки местами (ну ещё м.б. где-нибудь что-нибудь добавить-убрать), то вдруг да что-то получится!

Ответить

Номер ответа: 12
Автор ответа:
 AngryBadger



Вопросов: 33
Ответов: 245
 Профиль | | #12 Добавлено: 27.02.09 10:06
 Сижу...и ржу над собой)... fAndOrIn, тебе мое очередное Спасибо!

Ответить

Страница: 1 |

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



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