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

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

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


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


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



Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 07 ноя 2016, 21:04 
Не в сети
Новичок

Зарегистрирован: 07 ноя 2016, 20:53
Сообщений: 21
Использую Visio c: 2013
Уровнь квалификации: Пользователь
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Уважаемые участники форума, приветствую!
Не так давно возникла необходимость создать тест на основе MS Visio. Смысл следующий.
1) Имеется схематическое изображение, содержащее фрагменты, названия которых необходимо запомнить;
2) Необходимо в поле, расположенное рядом с фрагментом, ввести название;
3) Введенное значение должно полностью совпадать с заданным.

Предполагаемый механизм.
Эталонные названия фрагментов сравниваются с данными, введенными с клавиатуры сразу после нажатия на Enter.\
Можно посмотреть подсказку.

Для меня это совершенно новая область. Прошу, если кто знает, как можно организовать такой механизм, подскажите!

С уважением.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 07 ноя 2016, 21:30 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 942
Очков репутации: 100578

Добавить очки репутацииУменьшить очки репутации
Вам приходилось программировать на VBA?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 07 ноя 2016, 21:31 
Не в сети
Новичок

Зарегистрирован: 07 ноя 2016, 20:53
Сообщений: 21
Использую Visio c: 2013
Уровнь квалификации: Пользователь
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Да, есть немного! Это поможет оптимально решить задачу, скажите?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 07 ноя 2016, 21:46 
Не в сети
Новичок

Зарегистрирован: 07 ноя 2016, 20:53
Сообщений: 21
Использую Visio c: 2013
Уровнь квалификации: Пользователь
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Подскажите: придется ли работать с таблицами свойств фигуры?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 07 ноя 2016, 22:18 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 942
Очков репутации: 100578

Добавить очки репутацииУменьшить очки репутации
Даже когда возможны оба пути (программный на VBA и на основе формул шейп-листа), путь с VBA осваивается проще. Причем через VBA решается практически любая задача, а через формулы не любая.
А вот если не новичок, то с формулами иногда получается проще.
Навскидку трудно сказать, достаточно ли будет в этой задаче только формул. Может и достаточно.
-----
"Таблицы свойств фигуры" - это наверное ShapeSheet? Тогда придется. Практически всегда программа получает данные из ячеек шейп-листа (ShapeSheet). И пишет туда же. Ну а если задача решается на основе формул, то тем более придется.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 07 ноя 2016, 22:30 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 942
Очков репутации: 100578

Добавить очки репутацииУменьшить очки репутации
Вот, например, как проверяется значение на уровне формул.
прямоугольник будет зеленым только в том случае, если в нем будет текст "dog".
Это потому, что в ячейке, отвечающей за заливку шейпа стоит формула, сравнивающая текст шейпа с текстовой константой.


Вложения:
a.jpg
a.jpg [ 27.54 Кб | Просмотров: 390 ]
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 07 ноя 2016, 22:42 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 942
Очков репутации: 100578

Добавить очки репутацииУменьшить очки репутации
А второй вариант (с использованием VBA) - в ячейку завершения редактирования (секция Events ячейка TheText пишется вызов макроса)
Код:
=RUNMACRO("ThisDocument.ttt")

а в модуль ThisDocument - текст макроса
Код:
Sub ttt()
    If ActiveWindow.Selection(1).Text = "dog" Then
        ActiveWindow.Selection(1).Cells("FillForegnd") = 3
    Else
        ActiveWindow.Selection(1).Cells("FillForegnd") = 2
    End If
End Sub

Эффект будет таким же.
При завершении редактирования сработает событие вызова макроса. Макрос сравнит текст селектированного шейпа с константой и запишет в ячейку, отвечающую за цвет, нужное значение. Шейп станет красным или зеленым.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 07 ноя 2016, 22:47 
Не в сети
Новичок

Зарегистрирован: 07 ноя 2016, 20:53
Сообщений: 21
Использую Visio c: 2013
Уровнь квалификации: Пользователь
Очков репутации: 0

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 08 ноя 2016, 10:15 
Не в сети
Новичок

Зарегистрирован: 07 ноя 2016, 20:53
Сообщений: 21
Использую Visio c: 2013
Уровнь квалификации: Пользователь
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Классно! То, что надо )
Признаться, вчера возникла идея зациклить тест: через каждые n секунд произвольный зеленый прямоугольник (т.е. тот, где верный ответ), сбрасывает свое значение. Так приходится постоянно вводить значения, пока не надоест, либо пока не поймешь, что все запомнил.
Подскажите, пожалуйста, решение такой задачи, скорее всего, организовывается с помощью VBA?
Спасибо!


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 08 ноя 2016, 11:21 
Не в сети
Administrator

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 08 ноя 2016, 12:39 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 942
Очков репутации: 100578

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

Ну да, с VBA будет проще всего.
По таймеру периодически запускается программка и чистит тексты нужных шейпов (по списку или перебором всех шейпов с фильтрацией по определенному признаку).
Хотя, если для простоты запускать такой макрос не по таймеру, а по кнопке, эффект будет в общем-то схожий.
Шейпы перебирать в коллекции ActivePage.Shapes.
Признак для фильтрации нужно придумать. Например, записать нечто отличительное в User ячейку.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 08 ноя 2016, 14:51 
Не в сети
Новичок

Зарегистрирован: 07 ноя 2016, 20:53
Сообщений: 21
Использую Visio c: 2013
Уровнь квалификации: Пользователь
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Tumanov писал(а):
Ну да, с VBA будет проще всего.
По таймеру периодически запускается программка и чистит тексты нужных шейпов (по списку или перебором всех шейпов с фильтрацией по определенному признаку).
Хотя, если для простоты запускать такой макрос не по таймеру, а по кнопке, эффект будет в общем-то схожий.
Шейпы перебирать в коллекции ActivePage.Shapes.
Признак для фильтрации нужно придумать. Например, записать нечто отличительное в User ячейку.
Хм, надо подумать, спасибо!


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 08 ноя 2016, 14:58 
Не в сети
Новичок

Зарегистрирован: 07 ноя 2016, 20:53
Сообщений: 21
Использую Visio c: 2013
Уровнь квалификации: Пользователь
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
AlekseyVisio, получил маляву от админов с киберфорума - просили тебе помочь. Но ты к этому времени уже получил здесь ответ…
Честно говоря не совсем понял весь глобальный замысел, но кажется эта тема тоже может быть полезна Ищу шаблон-мастер для создания кроссвордов
с последним пожеланием про зацикливание вообще не понял Изображение


Да, спасибо! Ответ был получен здесь )
Глобальный замысел следующий.
Есть схематическое изображение - механизм, чертеж, оборудование, логическая карта и т.д., - содержащее большое количество названий составных частей, которые необходимо жестко запомнить. Поскольку идет привязка к изображению, то запоминать будет проще - особенно, если ответ вводить руками много раз. Много раз получится, если текст в фигурах будет периодически (рандомно) стираться, чтобы пришлось снова его вводить. Это и есть основная идея - многократное повторение для жесткого заучивания )


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 08 ноя 2016, 14:59 
Не в сети
Administrator

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 08 ноя 2016, 16:07 
Не в сети
Новичок

Зарегистрирован: 07 ноя 2016, 20:53
Сообщений: 21
Использую Visio c: 2013
Уровнь квалификации: Пользователь
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
AlekseyVisio писал(а):
надо подумать
надо еще подумать как выйти из этого цикла Изображение, я так думаю©


Проще всего - по закрытии файла.
Может случиться, что количество затертых блоков будет N-1, где N - общее количество блоков, а один - редактируемый.
Может случиться, что все блоки будут затерты, если ни один из них не редактируется.
:?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 26 янв 2017, 22:28 
Не в сети
Новичок

Зарегистрирован: 07 ноя 2016, 20:53
Сообщений: 21
Использую Visio c: 2013
Уровнь квалификации: Пользователь
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Всем доброго времени суток!
Появилось время вернуться к решению задачи :) Но, вот, проблема: никак не удается пройти в редактор Visual Basic.
Нахожусь на созданном листе, версия MS Visio 2007 SP3 русифицированная, Сервис - Макрос - Редактор Visual Basic неактивен ((
Подскажите, как можно "оживить" его?
Спасибо!


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 26 янв 2017, 23:29 
Не в сети
Новичок

Зарегистрирован: 07 ноя 2016, 20:53
Сообщений: 21
Использую Visio c: 2013
Уровнь квалификации: Пользователь
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Решение текущей проблемы найдено: произвел доустановку профессионального выпуска :)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 26 янв 2017, 23:37 
Не в сети
Новичок

Зарегистрирован: 07 ноя 2016, 20:53
Сообщений: 21
Использую Visio c: 2013
Уровнь квалификации: Пользователь
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Tumanov писал(а):
Вот, например, как проверяется значение на уровне формул.
прямоугольник будет зеленым только в том случае, если в нем будет текст "dog".
Это потому, что в ячейке, отвечающей за заливку шейпа стоит формула, сравнивающая текст шейпа с текстовой константой.


Воспользовался первым способом - редактирование ячейки Fill Foregnd таблицы Fill Format. Смена заливки по условию (ввод верного текста) работает отлично! Благодарю!
Теперь пробую на простом примере разобраться, как использовать VBA..


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 26 янв 2017, 23:46 
Не в сети
Новичок

Зарегистрирован: 07 ноя 2016, 20:53
Сообщений: 21
Использую Visio c: 2013
Уровнь квалификации: Пользователь
Очков репутации: 0

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


Вложения:
Test.zip [17.95 Кб]
Скачиваний: 8
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: MS Visio 2007 (Win XP): тест с полями ввода на изображении
СообщениеДобавлено: 26 янв 2017, 23:52 
Не в сети
Новичок

Зарегистрирован: 07 ноя 2016, 20:53
Сообщений: 21
Использую Visio c: 2013
Уровнь квалификации: Пользователь
Очков репутации: 0

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

Ну да, с VBA будет проще всего.
По таймеру периодически запускается программка и чистит тексты нужных шейпов (по списку или перебором всех шейпов с фильтрацией по определенному признаку).
Хотя, если для простоты запускать такой макрос не по таймеру, а по кнопке, эффект будет в общем-то схожий.
Шейпы перебирать в коллекции ActivePage.Shapes.
Признак для фильтрации нужно придумать. Например, записать нечто отличительное в User ячейку.


Все же, решил, что макросу лучше запускаться по таймеру - это не дает лишних действий (не надо отвлекаться на нажатие кнопки). Признаки для фильтрации не нужны - очистке должны подвергаться все без исключения прямоугольники в рандомном порядке.


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

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



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

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


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

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