Программирование PC Visio 2003 Mon, September 25 2017  

Поделиться

нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Visio 2003 Печать
Добавил(а) microsin   

В этой статье собраны вопросы по использованию Visio 2003 - векторного редактора иллюстраций, схем.

1. Как в документе Visio 2003 создать обработчик событий мыши? Пример описан в help, строка для поиска "MouseMove event".
- Tools\Macros\Visual Basic Editor
- выбираем в дереве объектов документа Visio Objects\ThisDocument (имя_файла)
- вставляем туда следующий текст:

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
- появившийся модуль, например, Class1, переименовываем в MouseListener
- вставляем в класс MouseListener следующий текст:

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 файла.

Для пользователей Visio 2000.
Адрес: HKEY_CURRENT_USER\Software\Visio\Visio2000\application
Параметр: Animation, тип REG_SZ (строка)
Значение: 60000 изменить на 500
Для пользователей Visio 2002
Адрес: HKEY_CURRENT_USER\Software\Microsoft\Visio\application
Параметр: Animation, тип REG_SZ (строка)
Значение: 60000 изменить на 500
Для пользователей Visio 2003
Адрес: HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Visio\application
Параметр: Animation, тип REG_SZ (строка)
Значение: 60000 изменить на 500

Подробные описания других параметров можно также найти на диске Visio 2000 в папке "X:\Install\bin\Program Files\Visio\DVS\Visreg.txt" или в папке Visio 2000 на компьютере "X:\Program Files\Visio\DVS\Visreg.txt"

По материалам сайта www.prodigitall.narod.ru, автор Ничков Алексей.

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.

 

Добавить комментарий


Защитный код
Обновить

Top of Page