SamForum.org  
SamLab.ws
Заблокированные пользователи

Вернуться   SamForum.org > Программирование > Basic и Visual Basic
Важная информация

Ответ
 
Опции темы Опции просмотра
Visual Basic для Office
Старый Добавлено: 24.09.2008, 17:28
  (#1)
Iranik2007
Гость
 
Аватар для Iranik2007

Вопрос Visual Basic для Office

Я сама программист на Foxе. Подскажите: существует ли в Visual Basic (используемом для приложений Office - Word, Excel) понятие макроподстановки.

Например в Foxе:
a="3" переменной а присваивается текстовая 1
do prog&a выполняется программа prog1

Множить программы для обработки CheckBoxов - не лучший вариант. Проще написать одну, а затем только использовать № boxа или другого элемента управления.

Может подскажете ссылку на русский Help. Пока пользуюсь английским, который идёт вместе с офисом
Вверх
Ответить с цитированием
Старый Добавлено: 29.09.2008, 20:50
  (#2)
apex77
Гость
 
Аватар для apex77

По умолчанию

Макропостановки для каждого приложения-Excel, Access - в VBA свои, от фокса отличаются!
Вверх
Ответить с цитированием
Старый Добавлено: 01.10.2008, 15:14
  (#3)
MDmitryS
Наблюдающий
Пользователь
 
Аватар для MDmitryS

По умолчанию

В книге "Проффесиональное программиронвиае на VBA в EXcel 2003" (Автор Джон Уокенбах) описано "Несклько кнопок с одной процедурой обработки событий"
Там написано следующее:
"... В данном разделе описывается способ, который поможет обойти это ограничение. Будет использован МОДУЛЬ КЛАССА с целью создания нового класса.
1. Создайте пользовательское диалоговое окно и добавьте в него несколько элементов управления CommandButton (например 16 кнопок и одно кнопка ОК). Предположим, что диалоговое окно называется UserForm1.
2. Вставьте в проект модуль класса (для этого необходимо выбрать команду Insert->Class Module), назовите его BtnClass и введите следующий код. Вам следует модифицировать процедуру ButtonGroup_Click.

Public WithEvents ButtonGroup As MsForms.CommandButton

Private Sub ButtonGroup_Click()
Msg = "Вы щелкнули на " & ButtonGroup.Name & vbCrLf
Msg = Msg & "Название " & ButtonGroup.Caption & vbCrLf
Msg = Msg & "Расстояние слевуа: " & ButtonGroup.Left & vbCrLf
Msgbox Msg, vbInformation, ButtonGroup.Name
End Sub

3. Вставьте обычные модуль VBA и введите приведенный ниже код. Эта процедура используется для отображения диалогового окна UserForm.

Sub ShowDialog()
UserForm1.Show
End Sub

4. В модуле кода диалогового окна UserForm введите следующий код:

Dim Buttons() As New BtnClass

Private Sub UserForm_Initialize()
Dim ButtonCount As Integer
Dim ctl As Control

' Создание объектов Button
ButtonCount=0
For Each ctl In UserForm1.Controls
If TypeName(ctl) = "CommandButton" Then
If ctl.Name <> "OKButton" Then 'Пропуск OKButton
ButtonCount=ButtonCount+1
RemDim Preserve Buttons (1 To ButtonCount)
Set Buttons(ButtonCount).ButtonGroup=ctl
End If
End If
Next ctl
End Sub

Данная процедура будет запускаться при возникновении события Initialize для диалогового окна UserForm. Обратите внимание, что и в коде исключается "реакция" на кнопку с названием OKButtonю Таким образом, щелчок на кнопке OKButton не приведет к вызову процедуры ButtonGroup_Click.
После выполнения этих инстукций можно запустить процедуру ShowDialog, чтобы отобразить диалоговое окно UserForm. Щелчок на одной из кнопок CommandButton (кроме кнопки ОК) приведет к появлению процедуры ButtonGroup_Click.

Данную методику можно легко адаптировать для работы и с другими элементами управления. Необходимо изменить имя типа в объявлении Public WithEvents. например, если вместо элементов управления CommandButton используются элементы управления OptionButton, то воспользуйтесь следующим оператором объявления объектовю

Public WithEvents ButtonGroup As MsForms.OptionButton

"
MDmitryS вне форума Отправить личное сообщение для MDmitryS
Вверх
Ответить с цитированием
Эти 2 пользователя(ей) сказали cпасибо за это полезное сообщение:
izrukvruki (04.04.2011)
Старый Добавлено: 29.10.2008, 23:13
  (#4)
MDmitryS
Наблюдающий
Пользователь
 
Аватар для MDmitryS

По умолчанию

Надеюсь, что хоть чем-то помог.
MDmitryS вне форума Отправить личное сообщение для MDmitryS
Вверх
Ответить с цитированием
Старый Добавлено: 26.11.2014, 00:31
  (#5)
Ultmann
Заблокирован
Заблокирован
 
Аватар для Ultmann

По умолчанию

Кто-нибудь подскажет, что это такое Появляется при открытии файла в MS Word 2013!

Ultmann вне форума
Вверх
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.10
Copyright ©2000 - 2019, vBulletin Solutions, Inc. Перевод: zCarot

Время генерации страницы 0.07030 секунды с 15 запросами