Visio 2003 |
![]() |
Добавил(а) microsin |
В этой статье собраны вопросы по использованию Visio 2003 - векторного редактора иллюстраций, схем. 1. Как в документе Visio 2003 создать обработчик событий мыши? Пример описан в help, строка для поиска "MouseMove event". Dim myMouseListener As MouseListener Private Sub Document_DocumentSaved(ByVal doc As IVDocument) Set myMouseListener = New MouseListener End Sub Private Sub Document_BeforeDocumentClose(ByVal doc As IVDocument) Set myMouseListener = Nothing End Sub - в дереве объектов щёлкаем правой кнопкой на Class Modules, выбираем Insert\Class Module Dim WithEvents vsoWindow As Window Dim iX As Double Dim iY As Double Private Sub Class_Initialize() Set vsoWindow = ActiveWindow End Sub Private Sub Class_Terminate() Set vsoWindow = Nothing End Sub Private Sub vsoWindow_MouseMove(ByVal Button As Long, ByVal KeyButtonState As Long, ByVal x As Double, ByVal y As Double, CancelDefault As Boolean) iX = x iY = y End Sub Private Sub vsoWindow_MouseUp(ByVal Button As Long, ByVal KeyButtonState As Long, ByVal x As Double, ByVal y As Double, CancelDefault As Boolean) If Button = 1 Then Debug.Print "Left mouse button released" ElseIf Button = 2 Then Debug.Print "Right mouse button released" ElseIf Button = 16 Then Debug.Print "Center mouse button released" End If MsgBox (Str(iX) + ", " + Str(iY)) End Sub - сохраняем документ. Вуаля! Готов скелет обработчика мыши - любой щелчок на документе вызывает окошко, где печатаются координаты курсора. Метод (с незначительными косметическими изменениями) наверняка подойдёт к Word и Excel. 2. Как в Visio уменьшить интервал автоперерисовки объектов? Visio по умолчанию, для быстродействия видимо, "время" в формулах обновляется 1 раз в минуту (в ссылках Разработчика об этом не раз упоминается), т.е. 1 раз в 60000 миллисекунд. Вот этот параметр и необходимо будет изменить. Он находится в реестре и его можно изменить “ручками”, либо с помощью *.reg файла. 3. Visio: объекты и их свойства (Properties). В Visio удобно пользоваться Properties у объектов - они хорошо видны на сохранённом как web-страница чертеже (нужно держать кнопку Ctrl и щёлкнуть на нужном объекте, после этого в левой части отобразится таблица Details c Properties или Custom Properties). Некоторые объекты, например, Router, уже имеют богатый набор встроенных свойств, у некоторых их надо добавлять вручную (правая кнопка\Shape\Custom Properties...). Properties можно автоматически отображать в качестве текстовой метки у объектов. Для этого надо выбрать один или несколько объектов, выбрать Tools\Add-Ons\Building Plan\Label Shapes..., и далее указать, какие указывать Properties в Label1..4. 4. Автоматическое построение диаграмм сетей. Enterprise Networks Tools, а также Fluke Networks’ LAN MapShot. LAN MapShot. Такие продукты позволяют быстро определить все IP- и NetBIOS-устройства, включая сетевые коммутаторы, серверы, маршрутизаторы, принтеры, хабы, хосты, а также хосты и принтеры IPX. 5. Для Visio есть примочка к MBSA (Visio Connector for Microsoft Baseline Security Analyzer (MBSA)) - по диаграмме сети запускается сканирование хостов на уязвимости. 6. Как в Visio 2003 автоматически разместить на листе несколько компьютеров? Dim intWindowCount As Integer Dim strWindowCaption As String 'Получить число индекса нового окна в коллекции окон intWindowCount = Application.Windows.Count 'Получить описание (caption) окна strWindowCaption = Application.Windows(intWindowCount).Caption For j = 0 To 5 Application.Windows.ItemEx(strWindowCaption).Activate '10 + j - координата x в дюймах, 6.003937 - координата y в дюймах Application.ActiveWindow.Page.Drop Application.Documents .Item("SERVER_M.VSS").Masters.ItemU("Server"), 10 + j, 6.003937 Next j 131118. Как скруглить углы? Меню Format -> Corner Rounding... Как получить доступ к готовым шаблонам фигур (Shapes)? Меню File -> Shapes, выберите нужный раздел фигур. Как точно (по точкам) перемещать элементы рисунка? Выберите то, что нужно переместить кликом мышью, и кнопками курсора перемещайте объект в нужном направлении. Если при этом удерживать Shift, то перемещение будет точным (осуществляется мелким шагом). 140519. Как сделать градиентную заливку? Format -> Fill -> выберите из выпадающего списка Pattern, выберите Color. [Ссылки] |