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

Форум по вопросам применения и программирования в Visio
Текущее время: 19 авг 2017, 22:36

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


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


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)



Начать новую тему Ответить на тему  [ Сообщений: 48 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: 2 банальных вопроса
СообщениеДобавлено: 18 апр 2017, 18:46 
Не в сети
Новичок

Зарегистрирован: 07 апр 2017, 10:18
Сообщений: 32
Использую Visio c: 2013
Отрасль: АСУТП
Уровнь квалификации: Чуть выше среднего
Очков репутации: 0

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: 2 банальных вопроса
СообщениеДобавлено: 18 апр 2017, 18:49 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
lite.fun писал(а):
Ох уж этот ваш форумный юмор
вообще то это из классики
— Дело в том, что… Вы знаете, что такое домкрат?
— Ну, конечно, знаю, оставьте меня в покое…
— Как вы себе представляете домкрат? Опишите своими словами.
— Такой… Падает, одним словом.
— Домкрат падает. Заметьте все. Домкрат стремительно падает.
Евгени писал(а):
Тут есть народ, заставший мамонтов, и с тех пор визио не обновлявший, а .vsdm - новый формат
все верно ! да еще и MS сломал конвертер
и мы из визио 2010 не можем уже открывать эти файлы
Surrogate в сообщении #10225 писал(а):
не далее как позавчера (11.11.2016) я столкнулся с тем, что конвертер на работает
Изображение


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: 2 банальных вопроса
СообщениеДобавлено: 18 апр 2017, 19:22 
Не в сети
Ветеран

Зарегистрирован: 30 июл 2014, 14:28
Сообщений: 428
Использую Visio c: 2008
Очков репутации: 97

Добавить очки репутацииУменьшить очки репутации
В процедуре Proba:
Должно быть так:
Код:
Dim nameCell As String: nameCell = "User.Base" & BaseIndex & ".Value" ' нужно писать полное имя ячейки


Процедура EditListValue:

Код:
Public Sub EditListValue(nameCell As String, numValue As Integer, newValue)
' 1 аргумент - имя ячейки для изменения
' 2 аргумент - номер значения для поиска в списке значений (начиная с 1)
' 3 аргумент - новое значение для замены

Const q = """" ' Кавычка
Dim arrList
Dim docSheet As Visio.Shape
Dim visDoc As Visio.Document
Set visDoc = Application.ActiveDocument
Set docSheet = visDoc.DocumentSheet

With docSheet.Cells(nameCell)
     arrList = Split(.ResultStr(""), ";") ' создаем массив значений не из формулы, а из результирующей строки
     arrList(numValue - 1) = newValue ' меняем одно из значений
     .FormulaU = q & Join(arrList, ";") & q  ' создаем строку из значений массива, закавычиваем ее и записываем назад в ячейку
End With

End Sub


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: 2 банальных вопроса
СообщениеДобавлено: 18 апр 2017, 21:03 
Не в сети
Ветеран

Зарегистрирован: 30 июл 2014, 14:28
Сообщений: 428
Использую Visio c: 2008
Очков репутации: 97

Добавить очки репутацииУменьшить очки репутации
И в функции ReadListValue тоже поменяй на эту строку:
Код:
arrList = Split(.ResultStr(""), ";") ' создаем массив значений не из формулы, а из результирующей строки


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: 2 банальных вопроса
СообщениеДобавлено: 19 апр 2017, 09:09 
Не в сети
Новичок

Зарегистрирован: 07 апр 2017, 10:18
Сообщений: 32
Использую Visio c: 2013
Отрасль: АСУТП
Уровнь квалификации: Чуть выше среднего
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Shishok, огромное спасибо за помощь! Двигаюсь дальше.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: 2 банальных вопроса
СообщениеДобавлено: 19 апр 2017, 09:15 
Не в сети
Administrator

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3362
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Связь
Должность: Бывший проектировщик
Уровнь квалификации: ShapeSheet, VBA
Оффтоп:
убедительная просьба - не валить все последующие вопросы, по другим темам в эту ветку Изображение


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: 2 банальных вопроса
СообщениеДобавлено: 21 апр 2017, 19:21 
Не в сети
Ветеран

Зарегистрирован: 30 июл 2014, 14:28
Сообщений: 428
Использую Visio c: 2008
Очков репутации: 97

Добавить очки репутацииУменьшить очки репутации
lite.fun. Оказывается у объекта Page есть два метода:

1. GetShapesLinkedToDataRow(DataRecordsetID, DataRowID, ShapeIDs()) - возвращает массив всех фигур на указанной странице, связанной с данными в указанной строке данных в указанном наборе записей данных.

2. GetShapesLinkedToData(DataRecordsetID, ShapeIDs()) - Возвращает массив всех фигур на указанной странице, связанной с данными в указанном наборе записей данных.

Так что для конкретной страницы количество связанных строк можно получить так(используя 2 метод):

Код:
Sub Test_LinkRows()
Dim LinkRowCount As Integer

    LinkRowCount = AllLinkRowCount(1, 3)
    ' первый аргумент в скобках - это порядковый номер подключенного источника данных
    ' второй аргумент в скобках - это порядковый номер страницы документа
    Debug.Print LinkRowCount
End Sub

Private Function AllLinkRowCount(DataRecordsetsItem, PageItem)
Dim DataRecordsetID As Integer, alngShapeIDs() As Long

On Error GoTo ExitLine

With ThisDocument
    DataRecordsetID = .DataRecordsets(DataRecordsetsItem).ID
    .Pages(PageItem).GetShapesLinkedToData DataRecordsetID, alngShapeIDs
    AllLinkRowCount = UBound(alngShapeIDs) + 1
End With

Exit Function

ExitLine:
AllLinkRowCount = 0
End Function


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: 2 банальных вопроса
СообщениеДобавлено: 24 апр 2017, 08:15 
Не в сети
Новичок

Зарегистрирован: 07 апр 2017, 10:18
Сообщений: 32
Использую Visio c: 2013
Отрасль: АСУТП
Уровнь квалификации: Чуть выше среднего
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Shishok писал(а):
lite.fun. Оказывается у объекта Page есть два метода:

Shishok, прошлый Ваш метод мне импонирует больше ))) но в любом случае огромное спасибо, уверен еще найдет свое применение!!!


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

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



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

Сейчас этот форум просматривают: Yandex [bot] и гости: 1


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

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