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

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


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

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Советник
Рейтинг: 10984
∙ повысить рейтинг »
Роман Селиверстов
Статус: Советник
Рейтинг: 4201
∙ повысить рейтинг »
Megaloman
Статус: Академик
Рейтинг: 1788
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Basic/VBA

Номер выпуска:1103
Дата выхода:05.10.2015, 15:21
Администратор рассылки:Андреенков Владимир (Профессор)
Подписчиков / экспертов:9 / 7
Вопросов / ответов:3 / 7

Консультация # 68971: Здравствуйте! Можно ли и в VBA использовать API функцию ShellExecute(Handle,NULL,"mailto:newcb@narod.ru?subject=Tema",NULL,NULL,SW_SHOWNORMAL);...


Консультация # 16811: Уважаемые эксперты! Если, например, в TextBox будет вводиться не более 20 символов и надо подогнать размер TextBox так, чтобы все они были ви дны и чтобы не сильно расходовать место на форме, как лучше определить размер TextBox? Неужели надо брать самую широкую букву "ф" и 20 раз её проклацать, а потом подогнать раз...
Консультация # 136677: Уважаемые эксперты, подскажите пожалуйста коды обычного и инжинерного калькуляторов. И еще вопрос: как сделать так, чтобы подсчитать количество нажатий на кнопку? Заранее спасибо....

Консультация # 68971:

Здравствуйте! Можно ли и в VBA использовать API функцию
ShellExecute(Handle,NULL,"mailto:newcb@narod.ru?subject=Tema",NULL,NULL,SW_SHOWNORMAL);

Дата отправки: 28.12.2006, 21:43
Вопрос задал: Rewer8
Всего ответов: 2
Страница онлайн-консультации »


Консультирует HookEst:

Здравствуйте, Rewer8!
Конечно, можно.
в приложении пример ее использования.
Успехов.

Приложение:

Консультировал: HookEst
Дата отправки: 29.12.2006, 06:45
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Залетин Виталий Викторович (мь:

Здравствуйте, Rewer8!
А почему и нет?
Можно так:
Call ShellExecute(0, vbNullString, "mailto:newcb@narod.ru?subject=Tema", vbNullString, vbNullString, 5) \'5 - это SW_SHOWNORMAL

Можно так:
Call ShellExecute(0, vbNullString, "http://www.rusfaq.ru", vbNullString, vbNullString, 5) \'5 - это SW_SHOWNORMAL

A Можно так:
Call ShellExecute(0, vbNullString, "format d:", vbNullString, vbNullString, 5) \'5 - это SW_SHOWNORMAL

Тут главное попробовать - а результат не заставит себя ждать. Хороший справочник по АПИ: http://www.vb.kiev.ua/ref/w32api/

Консультировал: Залетин Виталий Викторович (мь
Дата отправки: 30.12.2006, 14:17
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 16811:


Уважаемые эксперты! Если, например, в TextBox будет вводиться не более
20 символов и надо подогнать размер TextBox так, чтобы все они были ви
дны и чтобы не сильно расходовать место на форме, как лучше определить
размер TextBox? Неужели надо брать самую широкую букву "ф" и 20 раз её
проклацать, а потом подогнать размер бокса? А если потом надо 30 симво
лов - считать сколько единиц занимает "ф" для каждого размера определённого шрифта? В каких единицах измеряются размеры объектов в Visual Basic и почему не в пикселях?

Дата отправки: 09.02.2005, 15:30
Вопрос задал: Александр А.А.
Всего ответов: 3
Страница онлайн-консультации »


Консультирует Licvidator:

Здравствуйте, Александр А.А.!
Начну с главного - есть три пути решения Вашей задачи про подгон текстбокса.


Решение 1
1. Натягиваем на форму лейбл.
2. Делаем его невидимым
3. Делаем ему Автосайз=Труе
4. Применяем ему те же параметры шрифта (имя, размер), что и у текстбокса.
5. Label1.Caption=Text1.text
6. Text1.Width=Label1.Width
Далее идет некоторая неувязка - размер текстбокса будет на 1 символ меньше, чем нужно.. обходить этот "глюк" можно с помощью принудительного добавления к.-л. символа к строке, передающейся лейблу (например, Label1.Caption=Text1.text & "1").
Примечание: насколько я понял, заранее вводимый текст не известен, соответственно, размер текстбокса заранее нельзя задать. Видимо, обработчик следует сделать после ввода юзером нужного текста (скажем, по клавише Enter) или в событие Text1_Change().


Решение 2

Private Sub Text1_Change()
Text1.Width = Me.TextWidth(Text1)
End Sub

Без комментариев, но с тем же вышеперечесленным "глюком".


Решение 3 Состоит в использовании вызовов API и я его не рассматриваю ввиду бессмысленности:)
Что касается второго вопроса: по-умолчанию, ВБ ставит единицу измерения - твипы. Справка:

Твип (twip) — это независимая от экрана единица измерения, используемая для обеспечения того, чтобы местонахождение и пропорции элементов экрана в приложении всегда были одинаковы на всех типах дисплеев. Твип — единица измерения экрана, равная 1/20 точки принтера. В 1 логическом сантиметре содержится приблизительно 567 твипов, а в 1 логическом дюйме — 1440 твипов. Логический сантиметр (дюйм) — это длина элемента экрана, равная 1 сантиметру (дюйму) при печати.

Изменить единицу измерения можно путем манипулирования параметром ScaleMode формы.

Консультировал: Licvidator
Дата отправки: 09.02.2005, 21:32
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует DSota:

Здравствуйте, Александр А.А.!
1. Для этого случая есть функция TextWidth...
2. У формы, на которой находиться бокс, есть свойство ScaleMode, ему можно присвоить значение 3-Pixel...

Консультировал: DSota
Дата отправки: 10.02.2005, 09:11
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Гордеев Сергей Николаевич:

Здравствуйте, Александр А.А.!
Нет не надо клацать 20 раз. Можно просто измерить ширину 1-й буквы и помножить на их количество. Как тебе? ;)

Консультировал: Гордеев Сергей Николаевич
Дата отправки: 10.02.2005, 10:59
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 136677:

Уважаемые эксперты, подскажите пожалуйста коды обычного и инжинерного калькуляторов. И еще вопрос: как сделать так, чтобы подсчитать количество нажатий на кнопку? Заранее спасибо.

Дата отправки: 13.05.2008, 18:47
Вопрос задал: Иванов Семен Борисович
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Черников Игорь Владимирович:

Здравствуйте, Иванов Семен Борисович!
Вот вам почти готовый калькулятор, только инженерного у меня нет http://rusfaq.ru/upload/664.
А вот код подсчёта нажатия кнопки:

Public schet As Long

Private Sub Command1_Click()
schet = schet + 1
Label1 = schet
End Sub

Удачи!

Консультировал: Черников Игорь Владимирович
Дата отправки: 14.05.2008, 16:12
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Калашник Андрей Николаевич:

Здравствуйте, Иванов Семен Борисович!
Мне кажется Вы не в том форуме вопрос задали, Вам надо forum.microsoft.com либо BillGatesFAQ.us :)

А в принципе. Задаете 4 переменные: число 1, число 2, знак и результат, ну и работаете с ними.

Консультировал: Калашник Андрей Николаевич
Дата отправки: 14.05.2008, 18:04
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное