Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Ихъ бин программикеер
Зарегистрирован: 11.10.2006 Сообщения: 11 Откуда: Тюмень
|
Добавлено: Ср Окт 11, 2006 1:02 pm Заголовок сообщения: Помогите консультативно |
|
|
Подскажите, если не трудно:
1) Как прикручен к MS Visual Basic for Applications (VBA) к MicroStation - запустил я его ч/з "Утилиты/Макрос/Редактор VB" - и что?... Как-то через кнопки панелей инструментов или пункты меню можно вызывать функции, написанные в макросе? Привязывается ли макрос к редактируемому файлу (как, к примеру, к документу Word`а) или работает только общая библиотека макросов?
2) Какая разница между "Утилиты/Макрос/Редактор VB" и "Утилиты/Макрос/Microstation BASIC"? Только место хранения макроса и среда его разработки или что-то еще?
3) Есть ли возможность вставлять "хуки" на события интерфейса, в VBA?
4) Я сгенерировал собственную панель инструментов. Насколько я мог заметить, у каждой "родной" панели инструментов есть некое внутреннее имя, по которому можно осуществить "вкл/выкл" (toggle) этой панели. Как осуществить аналогичную операцию для собственной панели (я не могу найти ее имени)? _________________ Ошибка - она всегда в ДНК, вопрос только - в чьей... |
|
Вернуться к началу |
|
|
Ихъ бин программикеер
Зарегистрирован: 11.10.2006 Сообщения: 11 Откуда: Тюмень
|
Добавлено: Ср Окт 11, 2006 1:39 pm Заголовок сообщения: |
|
|
кажется, на вопрос №2 ответ имеется - это вещи разные, одна из них - разработка Bentley, а другая - стандартная фича от Microsoft.... я прав? _________________ Ошибка - она всегда в ДНК, вопрос только - в чьей... |
|
Вернуться к началу |
|
|
Ихъ бин программикеер
Зарегистрирован: 11.10.2006 Сообщения: 11 Откуда: Тюмень
|
Добавлено: Ср Окт 11, 2006 2:10 pm Заголовок сообщения: |
|
|
Так... на 1-й вопрос я, кажется, тоже практически могу ответить - VBA туда прикручен по госту, как и во всех остальных приложениях _________________ Ошибка - она всегда в ДНК, вопрос только - в чьей... |
|
Вернуться к началу |
|
|
Ихъ бин программикеер
Зарегистрирован: 11.10.2006 Сообщения: 11 Откуда: Тюмень
|
Добавлено: Ср Окт 11, 2006 2:17 pm Заголовок сообщения: |
|
|
Кто бы мне теперь сказал, можно ли и как на открытие/зактрытие, к примеру, файла хуки приделывать...
И еще один вопрос вдогонку - а как хранить информацию? Т.е. хочу я, к примеру, сделать инструментальную панельку с набором вроде как утилит, решающих одну общую задачу. И надобно мне, чтобы при окончании работы любой из функций сохранялась некая (допустим, статусная - о текущем состоянии работы) информация в памяти приложения. Т.е. нажал на кнпку 1 - в переменную записалось "1", на 2 - "2" и т.д.. Как это реализовать, не записывая всякую ерунду во временные файлы? _________________ Ошибка - она всегда в ДНК, вопрос только - в чьей... |
|
Вернуться к началу |
|
|
Ихъ бин программикеер
Зарегистрирован: 11.10.2006 Сообщения: 11 Откуда: Тюмень
|
Добавлено: Чт Окт 12, 2006 7:22 am Заголовок сообщения: |
|
|
И все-таки она вертится ! Примеры надо делать дословно, несмотря на всю их кажущуюся абсурдность они иногда имеют свойство работать Итак, как делается реакция на закрытие/открытие (если кому-то интересно):
Объявляем класс, допустим, Class1 и пишем в нем:
Код: | Dim WithEvents hooks As Application
Private Sub Class_Initialize()
Set hooks = Application
End Sub
Private Sub hooks_OnDesignFileClosed(ByVal DesignFileName As String)
MsgBox ("Closed design file " & DesignFileName)
End Sub
Private Sub hooks_OnDesignFileOpened(ByVal DesignFileName As String)
MsgBox ("Opened design file " & DesignFileName)
End Sub |
Далее, в любом модуле (допустим, Module1) добавляем такой код:
Код: | Dim oOpenClose As Class1
Sub SetupHooks()
Set oOpenClose = New Class1
End Sub |
Теперь, если вызвать функцию SetupHooks, заработают соответствующие события.
Если честно, не понимаю, почему именно "hooks_OnDesignFileOpened" и "hooks_OnDesignFileClosed" отвечают за эти события вместо, к примеру, "OnDesignFileOpened" и "OnDesignFileClosed" соответственно, как написано в доках ... Хорошо - пример есть, так бы ни в жисть не догадался...
Остался вопрос с хранением информации, но, раз события хранятся, возможно, хранятся и другие переменные.
PS интересная штука - самому с собой поговорить _________________ Ошибка - она всегда в ДНК, вопрос только - в чьей... |
|
Вернуться к началу |
|
|
Dmitriy
Зарегистрирован: 26.07.2006 Сообщения: 14 Откуда: Тюмень
|
Добавлено: Чт Окт 12, 2006 7:28 am Заголовок сообщения: |
|
|
Как много текста за еденицу времени... Практически разговор самого с собой выложеный в форум...
Пиши мне на почту пообщаемся. |
|
Вернуться к началу |
|
|
Ихъ бин программикеер
Зарегистрирован: 11.10.2006 Сообщения: 11 Откуда: Тюмень
|
Добавлено: Чт Окт 12, 2006 8:49 am Заголовок сообщения: |
|
|
Ага, я тоже заметил, что тихо. Либо MS абсолютно непопулярен, либо у сего продукта сейчас первая рыночная фаза в России.
PS я кинул тебе свой e-mail _________________ Ошибка - она всегда в ДНК, вопрос только - в чьей... |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Пт Окт 13, 2006 10:59 am Заголовок сообщения: |
|
|
программикееру:
Хелп по VBA лежит здесь
(MS)\Program\MicroStation\MicroStationVBA.chm
В целом он мало чем отличается от VBA для других приложений
на всякий случай на будущее:
вероятность ответа в теме стремится к единице, поделенной на количество вопросов в ней |
|
Вернуться к началу |
|
|
ВалВл
Зарегистрирован: 08.02.2006 Сообщения: 138
|
Добавлено: Пт Окт 13, 2006 2:21 pm Заголовок сообщения: |
|
|
Популярность MS определяется не программистами, а пользователями.
Кузнец один, а плотников сколько? |
|
Вернуться к началу |
|
|
|