Форум пользователей Visio

Форум по вопросам применения и программирования в Visio
Текущее время: 29 мар 2024, 08:49

Часовой пояс: UTC + 3 часа [ Летнее время ]


Правила форума


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)
Размещая ваши вложения на форуме не используйте имена файлов содержащих кириллицу, в противном случае файл будет иметь имя .<расширение файла> !

Для форматирования ваших сообщений используйте BBCodes, описание используемых на форуме BBCodes.



Начать новую тему Ответить на тему  [ Сообщений: 103 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Как создать Add-On?
СообщениеДобавлено: 15 мар 2016, 13:53 
Не в сети
Постоянный участник

Зарегистрирован: 31 май 2014, 02:42
Сообщений: 67
Использую Visio c: 1994
Отрасль: Газ нефте добыча
Должность: инженер
Уровнь квалификации: всего по немножку
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Когда-то я написал аддон на VB6. И сейчас захотел его обновить. Установил Visual Studio Community 2015 скачал SDK 2013.
Заготовки аддона увы нет. А старый проект, современный Visual Studio Community 2015 читать не желает. Есть путь последовательной конвертации, но это слишком утомительно. Подскажите где можно взять шаблон аддона на VB. Поскольку на С++ есть, но мне надо на VB. Буду благодарен за любую помощь.
Дополнено позднее: 08.09.2021
Boris в сообщении #16210 писал(а):


Вложения:
Комментарий к файлу: Это тот файл который хочу переписать. Создаёт плоские массивы четырёхугольные и по дуге. Можно текст по дуге. Появились новые идеи, хочу реализовать их. Могу выложить старый проект на VB6.
и букв.zip [23.35 Кб]
Скачиваний: 111
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 05 апр 2016, 00:29 
Не в сети
Постоянный участник

Зарегистрирован: 31 май 2014, 02:42
Сообщений: 67
Использую Visio c: 1994
Отрасль: Газ нефте добыча
Должность: инженер
Уровнь квалификации: всего по немножку
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
По нажатию кнопки строится массив шейпов. По кнопке отмена удаляется.
Перемещаю ключевой шейп, запускаю построение по новой и получаю кашу. Фигуры строятся но не там и не так.
В чём проблема?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 05 апр 2016, 01:33 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Boris писал(а):
В чём проблема?
может в этом
Boris писал(а):
Делает три действия: создаёт копию, ставит её на место и потом поворачивает её.
не стоит пытаться впихнуть невпихуемое ?

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 05 апр 2016, 02:33 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 963
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100614

Добавить очки репутацииУменьшить очки репутации
Boris писал(а):
По нажатию кнопки строится массив шейпов. По кнопке отмена удаляется.
Перемещаю ключевой шейп, запускаю построение по новой и получаю кашу. Фигуры строятся но не там и не так.
В чём проблема?

Цитата:
телепаты в отпуске (c)
:D
Код в студию?

_________________
Полезные инструменты для создания диаграмм Visio:
https://unmanagedvisio.com/


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 05 апр 2016, 07:58 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Оффтоп:
телепаты тут есть, наверно все же не 90lvl Изображение

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 05 апр 2016, 08:12 
Не в сети
Постоянный участник

Зарегистрирован: 31 май 2014, 02:42
Сообщений: 67
Использую Visio c: 1994
Отрасль: Газ нефте добыча
Должность: инженер
Уровнь квалификации: всего по немножку
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Извиняюсь за формулировку.
Но код в студию бесполезно выкладывать. Очень много. Проблема выползает только после сборки екзешника и запуска его в работу. Я конечно могу выложить проект, но кто будет там разбираться?
Насчёт три в одном. На самом деле создаётся несколько сотен объектов.
И при первом запуске работает прекрасно. Кстати когда это у меня было на VBA таких проблем не было.
Практически я код из VBA копипастил в VS. С правкой синтаксиса, всё же есть некоторые отличия.
Попробую описать что происходит.
Аддон по выделенному шейпу создаёт массив из копий первоначального шейпа. Строит правильно.
Удаляю массив им же. Отдельная кнопочка "Отменить".
И когда после этого на листе перемещаешь первый шейп в другую позицию. Создание следующего массива идёт криво. Причём кривизна зависит от расстояния на которое передвинул первый шейп. То есть программа помнит некоторые данные и пытается применить их. Получается хрень.
Я уже все переменные в конце цикла чищу и при каждом начале построения пишу в них новые данные. Не помогает.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 05 апр 2016, 08:50 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Boris писал(а):
И когда после этого на листе перемещаешь первый шейп в другую позицию. Создание следующего массива идёт криво. Причём кривизна зависит от расстояния на которое передвинул первый шейп. То есть программа помнит некоторые данные и пытается применить их.
VBA у меня были проблемы когда шли конструкции типа
ActivePage.Drop(qwq, (2*NomerPodyezda+1)*2, 2*NomerEtazha)
В литературе я тоже встречал, что хорошим тоном является в подобных формулах писать вычисленное заранее значение. а не производить его на лету. Опять же при отладке можно сразу увидеть значение переменных куда и что приземлится.

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 05 апр 2016, 09:39 
Не в сети
Постоянный участник

Зарегистрирован: 31 май 2014, 02:42
Сообщений: 67
Использую Visio c: 1994
Отрасль: Газ нефте добыча
Должность: инженер
Уровнь квалификации: всего по немножку
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Дык так и делаю.

Цитата:
vX = (Cos(vAnglInRad) * vRadius + vCentrX) / 25.4 ' Пересчёт миллиметров в дюймы
vY = (Sin(vAnglInRad) * vRadius + vCentrY) / 25.4 ' Пересчёт миллиметров в дюймы

' Создание копии первого элемента, установка на место.
' Получение имени полученной копии.
vTEMP = visAcPg.Drop(visAcPg.Shapes(vNamObjC), vX, vY).Name


Первый раз строится всё правильно и если изменив настройки построить ещё раз то тоже без ошибок.
Вот если после первого построения передвинуть первичный шейп чтобы построить с другими начальными координатами, тот тогда начинается белиберда. Количество шейпов то которое надо, но сам массив и угол поворота шейпов где попало.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 05 апр 2016, 10:26 
Не в сети
Ветеран

Зарегистрирован: 05 июл 2012, 21:34
Сообщений: 225
Очков репутации: 27

Добавить очки репутацииУменьшить очки репутации
А как аддон обновлять? Авто-обновление можно организовать?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 05 апр 2016, 10:51 
Не в сети
Постоянный участник

Зарегистрирован: 31 май 2014, 02:42
Сообщений: 67
Использую Visio c: 1994
Отрасль: Газ нефте добыча
Должность: инженер
Уровнь квалификации: всего по немножку
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Именно в запущенном аддоне и хранится инфа. Потому что при перезапуске аддона первое построение правильное.
Если сдвинул фигуру, перезапускай аддон. Нужна чистилка. А вот где и что чистить?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 05 апр 2016, 11:17 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Boris писал(а):
Нужна чистилка. А вот где и что чистить?
думаю, для надежности чистить все !
в вба для этого в конце процедуры я стараюсь делать
Код:
Set переменная = Nothing
можно сдвинутому шейпу добавить заливку каким-нибудь цветом, запустить аддон и посмотреть копии какого цвета множатся

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 05 апр 2016, 12:13 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 963
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100614

Добавить очки репутацииУменьшить очки репутации
Boris писал(а):
Я уже все переменные в конце цикла чищу и при каждом начале построения пишу в них новые данные. Не помогает.

Чисто не там где убирают, а там где не сорят :)
В смысле, если не использовать глобальные переменные, тогда чистить будет не надо:
Цитата:
x = "Hello"

Dim x = "Hello"

_________________
Полезные инструменты для создания диаграмм Visio:
https://unmanagedvisio.com/


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 05 апр 2016, 14:21 
Не в сети
Постоянный участник

Зарегистрирован: 31 май 2014, 02:42
Сообщений: 67
Использую Visio c: 1994
Отрасль: Газ нефте добыча
Должность: инженер
Уровнь квалификации: всего по немножку
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
У меня только две глобальные типа String в каждой из них хранится имя шейпа например Sheet.34
Каждый раз при начале построения по этим именам идет получение координат:
Код:
            vAob = visAcPg.Shapes(vNamObjC).Cells("PinX").Result(70)
            vBob = visAcPg.Shapes(vNamObjC).Cells("PinY").Result(70)

После чего и начинается всё остальное. Но эта процедура выполняется всегда в каждом цикле.
Причём если пощёлкать радиокнопками по которым ничего не выполняется. Их состояние проверяется при выполнении.
То иногда начинает строить правильно. Иногда помогает очистка и ввод того же значения в текстбокс.
Мистика.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 05 апр 2016, 14:49 
Не в сети
Постоянный участник

Зарегистрирован: 31 май 2014, 02:42
Сообщений: 67
Использую Visio c: 1994
Отрасль: Газ нефте добыча
Должность: инженер
Уровнь квалификации: всего по немножку
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
можно сдвинутому шейпу добавить заливку каким-нибудь цветом, запустить аддон и посмотреть копии какого цвета множатся
Тут всё нормально. Множатся правильно, расставляются не правильно.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 06 апр 2016, 08:17 
Не в сети
Постоянный участник

Зарегистрирован: 31 май 2014, 02:42
Сообщений: 67
Использую Visio c: 1994
Отрасль: Газ нефте добыча
Должность: инженер
Уровнь квалификации: всего по немножку
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Серия умных и не очень экспериментов привела к выводу:
Одна из переменных в процессе выполнения получает дополнительное значение в плюс или минус зависит от того в какую сторону сдвинул первичный шейп.
При манипуляциях на форме, изменение настроек режима значений(например очистить текстбок и ввести прежнее значение), начинает работать правильно. Опять таки если не двигать шейп.
Если не изменять координаты первичных объектов то всё хорошо. Изменение настроек на форме к ошибке не приводят.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 06 апр 2016, 10:03 
Не в сети
Постоянный участник

Зарегистрирован: 31 май 2014, 02:42
Сообщений: 67
Использую Visio c: 1994
Отрасль: Газ нефте добыча
Должность: инженер
Уровнь квалификации: всего по немножку
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Засада ещё в том что при пошаговом выполнении всё ОК. Глюк возникает только в откомпилированном екзешнике.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 06 апр 2016, 10:43 
Не в сети
Постоянный участник

Зарегистрирован: 31 май 2014, 02:42
Сообщений: 67
Использую Visio c: 1994
Отрасль: Газ нефте добыча
Должность: инженер
Уровнь квалификации: всего по немножку
Очков репутации: 2

Добавить очки репутацииУменьшить очки репутации
Вообще есть какой либо способ выполнить ресет приложению?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 06 апр 2016, 10:56 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Boris писал(а):
сдвинул первичный шейп
я грешным делом считал, если шейп сдвинуть, то переменную содержащую шейп нужно очистить, и потом присвоить ей новое значение - шейп с его новым местоположением. хотя возможно я со своей колокольни, чего-то упорно не замечаю

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 06 апр 2016, 12:29 
Не в сети
Ветеран

Зарегистрирован: 05 июл 2012, 21:34
Сообщений: 225
Очков репутации: 27

Добавить очки репутацииУменьшить очки репутации
Может диспозить надо?
Код:
Dispose()


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 06 апр 2016, 12:34 
Не в сети
Ветеран

Зарегистрирован: 05 июл 2012, 21:34
Сообщений: 225
Очков репутации: 27

Добавить очки репутацииУменьшить очки репутации
из Microsoft Visio 2010 SDK. Примеры кода.
Код:
Drop Many Shapes

--------------------------------------------------------------------------------

Description:
This sample creates a drawing by dropping multiple masters individually and by using the DropManyU method to drop multiple masters in one call.



Requirements:
Requires the DropMasterOnPage function in the Shape Drop Master sample.

Code:

'// ManyShapesDrop.vb
'// <copyright>Copyright (c) Microsoft Corporation. All rights reserved.
'// </copyright>
'// <summary>This module demonstrates how to drop many shapes multiply and
'// individually.</summary>

Imports System

Namespace Microsoft.Samples.Visio.VBNet

    Module ManyShapesDrop

        Private Const stencilNameU As String = "PERIPH_U.VSS"
        Private Const masterServerNameU As String = "Server"
        Private Const masterRouterNameU As String = "Router"


        '// <summary>This function calls the other functions in this module to
        '// drop the masters from a stencil individually and all in one call.
        '// This function also displays the time taken to do each task on a
        '// message box.
        '// </summary>
        '// <param name="visioApplication">Instance of Visio</param>
        '// <returns>True if successful, otherwise False</returns>
        Public Function DemoDropManyShapes( _
            ByVal visioApplication As Microsoft.Office.Interop.Visio. _
            Application) As Boolean

            Const templateName As String = _
                "Basic Network Diagram (US Units).vst"

            Dim addedDocument As Microsoft.Office.Interop.Visio.Document
            Dim currentPage As Microsoft.Office.Interop.Visio.Page
            Dim returnValue As Boolean = False
            Dim startTime As DateTime
            Dim stopTime As DateTime
            Dim multiDropTimeDiff As TimeSpan
            Dim indvDropTimeDiff As TimeSpan
            Dim message As String

            Try

                ' Add a basic network diagram document.
                addedDocument = visioApplication.Documents.Add(templateName)
                currentPage = visioApplication.ActivePage

                ' Drop masters in the stencil individually.
                startTime = DateTime.Now
                returnValue = DropShapesIndividually(currentPage)
                stopTime = DateTime.Now
                indvDropTimeDiff = stopTime.Subtract(startTime)

                ' Add the second page
                currentPage = addedDocument.Pages.Add()

                ' Drop masters in the stencil in one call.
                startTime = DateTime.Now
                returnValue = DropMultipleShapes(currentPage)
                stopTime = DateTime.Now
                multiDropTimeDiff = stopTime.Subtract(startTime)

                ' Show time taken for actions to complete.
                Const OutputString As String = "Drop individual shapes: " & _
                    "{0} seconds." & vbNewLine & "Drop multiple shapes: " & "{1} seconds."

                message = String.Format(System.Globalization.CultureInfo.CurrentCulture, _
                    OutputString, _
                    indvDropTimeDiff.TotalSeconds, multiDropTimeDiff.TotalSeconds)

                System.Diagnostics.Debug.WriteLine(message)

            Catch err As System.Runtime.InteropServices.COMException
                System.Diagnostics.Debug.WriteLine(err.Message)
            End Try

            Return returnValue
        End Function

        '// <summary>This function drops the masters from the Network stencil
        '// in one call. </summary>
        '// <param name="targetPage">Reference to the page that will be used
        '// </param>
        '// <returns>True if successful, otherwise False</returns>
        Public Function DropMultipleShapes( _
            ByVal targetPage As Microsoft.Office.Interop.Visio.Page) As Boolean

            Dim masterRouter As Microsoft.Office.Interop.Visio.Master
            Dim masterServer As Microsoft.Office.Interop.Visio.Master
            Dim shapesSelection As Microsoft.Office.Interop.Visio.Selection
            Dim masterToDrop As System.Array
            Dim xyArray As System.Array
            Dim shapeIDArray As System.Array = Nothing
            Dim index As Short
            Dim numberOfShapes As Short = 15
            Dim randomLocation As Random

            Try

                ' Create as instance of the System.Array.
                masterToDrop = Array.CreateInstance(GetType(Object), _
                    numberOfShapes)
                xyArray = Array.CreateInstance(GetType(Double), _
                    (2 * numberOfShapes))


                masterRouter = targetPage.Application.Documents(stencilNameU). _
                    Masters.ItemU(masterRouterNameU)

                masterServer = targetPage.Application.Documents(stencilNameU). _
                    Masters.ItemU(masterServerNameU)

                ' Calculate a random location for the shape. Randomizing
                ' the placement of shapes helps layout shapes more
                ' efficiently when the Layout method for this page is called.
                randomLocation = New Random

                ' Prefill the items required for the Page.DropManyU() method.
                For index = 0 To CShort(numberOfShapes - 1)

                    If (index < 10) Then
                        masterToDrop.SetValue(masterServer, index)
                    Else
                        masterToDrop.SetValue(masterRouter, index)
                    End If

                    xyArray.SetValue(CInt(randomLocation.NextDouble() * 10), _
                        (2 * index))
                    xyArray.SetValue(CInt(randomLocation.NextDouble() * 8), _
                        (2 * index + 1))
                Next

                targetPage.DropManyU(masterToDrop, xyArray, shapeIDArray)

                targetPage.Application.ActiveWindow.SelectAll()
                shapesSelection = targetPage.Application.ActiveWindow.Selection
                shapesSelection.ConnectShapes()
                targetPage.CenterDrawing()

            Catch err As System.Runtime.InteropServices.COMException
                System.Diagnostics.Debug.WriteLine(err.Message)
            End Try

            Return True
        End Function

        '// <summary>This function drops the masters from the Network stencil
        '// one at a time. </summary>
        '// <param name="targetPage">Reference to the page that will be used
        '// </param>
        '// <returns>True if successful, otherwise False</returns>
        Public Function DropShapesIndividually( _
            ByVal targetPage As Microsoft.Office.Interop.Visio.Page) As Boolean

            Dim shapesSelection As Microsoft.Office.Interop.Visio.Selection
            Dim returnValue As Boolean = False
            Dim pinX As Double
            Dim pinY As Double
            Dim randomLocation As Random
            Dim index As Integer
            Dim numberOfShapes As Short = 15

            Try

                ' Calculate a random location for the shape.
                randomLocation = New Random

                ' Drop one master at a time from the stencil.
                For index = 1 To numberOfShapes
                    pinX = randomLocation.Next(0, 7)
                    pinY = randomLocation.Next(0, 8)

                    If (index < 10) Then
                        DropMaster.DropMasterOnPage(targetPage, _
                            masterServerNameU, stencilNameU, _
                            CInt(pinX), CInt(pinY), "in.")
                    Else
                        DropMaster.DropMasterOnPage(targetPage, _
                            masterRouterNameU, stencilNameU, _
                            CInt(pinX), CInt(pinY), "in.")
                    End If
                Next

                targetPage.Application.ActiveWindow.SelectAll()
                shapesSelection = targetPage.Application.ActiveWindow.Selection
                shapesSelection.ConnectShapes()
                targetPage.CenterDrawing()

                returnValue = True

            Catch err As System.Runtime.InteropServices.COMException
                System.Diagnostics.Debug.WriteLine(err.Message)
            End Try

            Return returnValue
        End Function

    End Module

End Namespace




Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Как создать Add-On?
СообщениеДобавлено: 06 апр 2016, 12:42 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 939
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 127

Добавить очки репутацииУменьшить очки репутации
я конечно очень сомневаюсь, что поможет. но попробовать стоит. есть в визио такая команда DoEvents, класс Interaction.
она как бы позволяет выполниться всем внутренним событиям визио, которые могут быть в очереди из-за действий пользователя. у меня иногда без этой команды визио работал некорректно.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 103 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB