Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 376
от 19.09.2006, 17:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 198, Экспертов: 32
В номере:Вопросов: 2, Ответов: 4


Вопрос № 55420: Уважаемые эксперты Не судите строго, это первая программа, написанная мною на VBA(до этого использовал только QBasic) Подскажите пожалуйста с выводом результатов (функция MsgBox) У меня в приведенном коде получается число, потом надо дави...
Вопрос № 55460: Вопрос следующий: У меня есть TextBox в котором есть некий текст на несколько строк. Мне нужно его расчленить на строки, то есть каждую отдельную строку допустим записать в отдельную переменную. Как это можно в VB/VBA грамотно сделать? Заране...

Вопрос № 55.420
Уважаемые эксперты
Не судите строго, это первая программа, написанная мною на VBA(до этого использовал только QBasic)
Подскажите пожалуйста с выводом результатов (функция MsgBox)
У меня в приведенном коде получается число, потом надо давить на ОК, а затем выводятся сомножители. Хотелось бы избежать промежуточного давления на ОК, т.е. MsgBox выводила [число=сомножители].
Код прилагается

Приложение:

Отправлен: 14.09.2006, 12:57
Вопрос задал: mryc (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: fsl
Здравствуйте, mryc!
Дело в том, что MsgBox является модальным окном, т.о. во время вывода MsgBox выполнение кода приостанавливается.
В вашем случае могу посоветовать, установить на форме, скажем, TextBox установив в параметрах multiline = true, в который вписать построчно выводимые tmp (text1=text1 & tmp & vbnewline). Затем по окончании цикла вывести содержимое text1 на экран.
Удачи.
Ответ отправил: fsl (статус: 5-ый класс)
Ответ отправлен: 14.09.2006, 13:21
Оценка за ответ: 5
Комментарий оценки:
Благодарю, все получилось.
Изучаем дальше....


Вопрос № 55.460
Вопрос следующий:
У меня есть TextBox в котором есть некий текст на несколько строк. Мне нужно его расчленить на строки, то есть каждую отдельную строку допустим записать в отдельную переменную. Как это можно в VB/VBA грамотно сделать?
Заранее спасибо.
Отправлен: 14.09.2006, 16:06
Вопрос задал: Pithon (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Филатов Евгений Геннадьевич
Здравствуйте, Pithon!

Посмотрите мой ответ на вопрос 40011.
А для ответа привожу код преобразования и определения количества предложений, слов и букв в вводимом тексте.

На форме Form1 имеется TextBox1 и Label1.
Данные вводятся в TextBox1 по правилам, описанным в приложении, а в Label1 выводится результат.

С уважением.

Приложение:

Ответ отправил: Филатов Евгений Геннадьевич (статус: 5-ый класс)
Ответ отправлен: 14.09.2006, 16:20

Отвечает: fsl
Здравствуйте, Pithon!
Например так:

k = Len(vbNewLine)
For i = 1 To Len(Text1)
If Mid(Text1, i, k) = vbNewLine Then
List1.AddItem Mid(Text1, l, i - l) ' - добавляем строку в listbox
l = i + k
i = i + k - 1
End If
Next
List1.AddItem Mid(Text1, l, Len(Text1))
Ответ отправил: fsl (статус: 5-ый класс)
Ответ отправлен: 14.09.2006, 16:30

Отвечает: HookEst
Здравствуйте, Pithon!
Если нужно просто разбить техт на строки оканчивающиеся на "перевод строки", можно использовать Split():
например:

Dim lines() as String

lines = Split ( TextBox1.text , vbCrLf )

теперь lines - это одномерный массив каждый элемент которого строка из TextBox1
Ответ отправил: HookEst (статус: 2-ой класс)
Ответ отправлен: 15.09.2006, 07:05
Оценка за ответ: 5
Комментарий оценки:
Вот это ответ когорого я ждал. Б.Спасибо


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

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


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.36 от 06.09.2006
Яндекс Rambler's Top100

В избранное