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

Форум по вопросам применения и программирования в Visio
Текущее время: 28 мар 2024, 12:58

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


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


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

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



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Единицы измерений из ячейки.
СообщениеДобавлено: 22 май 2023, 23:12 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 08 мар 2020, 00:19
Сообщений: 336
Использую Visio c: 2019
Очков репутации: 4

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

_________________
Группа в VK Фигуры электрики для Visio


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Единицы измерений из ячейки.
СообщениеДобавлено: 22 май 2023, 23:45 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Из какой?
Вообще, Visio все считает в дюймах. Это по умолчанию. Но по просьбе может вернуть результат в любых единицах, в каких задано. Для этого есть метод Result, в котором задаются желаемые единицы измерения для результата.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Единицы измерений из ячейки.
СообщениеДобавлено: 22 май 2023, 23:54 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Или речь вот об этих единицах?
Но это в таких как Application.DefaultAngleUnits, то есть для всего приложения.


Вложения:
def.PNG
def.PNG [ 2.47 Кб | Просмотров: 312 ]
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Единицы измерений из ячейки.
СообщениеДобавлено: 23 май 2023, 01:42 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 08 мар 2020, 00:19
Сообщений: 336
Использую Visio c: 2019
Очков репутации: 4

Добавить очки репутацииУменьшить очки репутации
Tumanov писал(а):
Или речь вот об этих единицах?
Но это в таких как Application.DefaultAngleUnits, то есть для всего приложения.

Об единицах. Например в данных фигур у меня есть высота она может быть и в м и мм , мне нужно получить только единицу измерения. Например если в окне данных 10 м , то мне нужно получить м, если 100мм , то мм.

_________________
Группа в VK Фигуры электрики для Visio


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Единицы измерений из ячейки.
СообщениеДобавлено: 23 май 2023, 10:30 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Цитата:
Например в данных фигур у меня есть высота она может быть и в м и мм

Так можно ставить вопрос только в том случае, если тип переменной String. Тогда из строки можно выделить единицы измерения. Если тип числовой, то он будет в дюймах.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Единицы измерений из ячейки.
СообщениеДобавлено: 23 май 2023, 10:44 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
А, есть еще один вариант. Если читать не значение, а формулу, то в результате можно увидеть единицы измерения, которые установлены в свойствах страницы. Например,
Debug.Print ActivePage.Shapes(1).Cells("Width").FormulaU
выведет 1 m или 1 mm
А Debug.Print Right(ActivePage.Shapes(1).Cells("Width").FormulaU,2) может вывести cm


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Единицы измерений из ячейки.
СообщениеДобавлено: 23 май 2023, 21:21 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 08 мар 2020, 00:19
Сообщений: 336
Использую Visio c: 2019
Очков репутации: 4

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

Так можно ставить вопрос только в том случае, если тип переменной String. Тогда из строки можно выделить единицы измерения. Если тип числовой, то он будет в дюймах.

В окне данных фигур если поставить тип число и вести единицы измерений, то в значение появляется подпись "МЕТРЫ" или "МИЛИМЕТРЫ". Но в самом окне данных отображается как м или мм. Я хотел получить единицы измерения используя только таблицу свойств фигуры. Функцией right() можно получить 2 последних символа в случая с мм и см это работает, но если например метры, то функция возвращает вместе с последней цифрой.
Содержимое спрятано под спойлер ↓
Спойлер:
Вложение:
2023-05-23_20-14-08.png
2023-05-23_20-14-08.png [ 48.4 Кб | Просмотров: 214 ]
Вложение:
2023-05-23_20-13-25.png
2023-05-23_20-13-25.png [ 49.01 Кб | Просмотров: 214 ]

_________________
Группа в VK Фигуры электрики для Visio


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Единицы измерений из ячейки.
СообщениеДобавлено: 23 май 2023, 21:55 
Не в сети
Administrator

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

Добавить очки репутацииУменьшить очки репутации
Ну, вот так
Код:
Sub test_Mes()
    Debug.Print Mes("10mm")
    Debug.Print Mes("10 mm")
    Debug.Print Mes("10m")
    Debug.Print Mes("10 m")
End Sub

Private Function Mes(s As String) As String
    s2 = Right(s, 2)
    s1 = Left(s2, 1)
    If s1 = " " Or IsNumeric(s1) Then
        Mes = Right(s2, 1)
    Else
        Mes = s2
    End If
End Function


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Единицы измерений из ячейки.
СообщениеДобавлено: 23 май 2023, 22:31 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 08 мар 2020, 00:19
Сообщений: 336
Использую Visio c: 2019
Очков репутации: 4

Добавить очки репутацииУменьшить очки репутации
Tumanov писал(а):
Ну, вот так
Код:
Sub test_Mes()
    Debug.Print Mes("10mm")
    Debug.Print Mes("10 mm")
    Debug.Print Mes("10m")
    Debug.Print Mes("10 m")
End Sub

Private Function Mes(s As String) As String
    s2 = Right(s, 2)
    s1 = Left(s2, 1)
    If s1 = " " Or IsNumeric(s1) Then
        Mes = Right(s2, 1)
    Else
        Mes = s2
    End If
End Function


Спасибо. Работает. 8-)

_________________
Группа в VK Фигуры электрики для Visio


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Единицы измерений из ячейки.
СообщениеДобавлено: 23 май 2023, 22:37 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
Tim Umix писал(а):
Я хотел получить единицы измерения используя только таблицу свойств фигуры.
Если это по прежнему актуально, можно посмотреть что внутри у фигуры 'Измерительная линия' (Controller dimension) из трафарета 'Стены, окна и тп' (Wall_m.vssx). Там целая система :mrgreen:

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Единицы измерений из ячейки.
СообщениеДобавлено: 23 май 2023, 23:56 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 08 мар 2020, 00:19
Сообщений: 336
Использую Visio c: 2019
Очков репутации: 4

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
Tim Umix писал(а):
Я хотел получить единицы измерения используя только таблицу свойств фигуры.
Если это по прежнему актуально, можно посмотреть что внутри у фигуры 'Измерительная линия' (Controller dimension) из трафарета 'Стены, окна и тп' (Wall_m.vssx). Там целая система :mrgreen:

Спасибо посмотрю. Пока ниче не понятно :wall: , макросом конечно проще))

_________________
Группа в VK Фигуры электрики для Visio


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Единицы измерений из ячейки.
СообщениеДобавлено: 24 май 2023, 23:28 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 08 мар 2020, 00:19
Сообщений: 336
Использую Visio c: 2019
Очков репутации: 4

Добавить очки репутацииУменьшить очки репутации
Сделал такую конструкцию вроде работает , как мне и нужно. Есть ли какие то подводные камни в такой формуле?
Код:
=RIGHT(FORMAT(Prop.BaseElevation,"0.0 u"),LEN(FORMAT(Prop.BaseElevation,"0.0 u"))-FIND(" ",FORMAT(Prop.BaseElevation,"0.0 u")))

_________________
Группа в VK Фигуры электрики для Visio


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Единицы измерений из ячейки.
СообщениеДобавлено: 25 май 2023, 00:04 
Не в сети
Content manager
Content manager
Аватара пользователя

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

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Единицы измерений из ячейки.
СообщениеДобавлено: 25 май 2023, 00:25 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 08 мар 2020, 00:19
Сообщений: 336
Использую Visio c: 2019
Очков репутации: 4

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
Tim Umix писал(а):
Есть ли какие то подводные камни в такой формуле?
Что такое Prop.BaseElevation? Если, то что пользователь введет с клавиатуры: то если введет только цифры или только буквы, что что-то пойдет не так :mrgreen:
Если пользователь вводит данные в правильном формате, то будет все нормально! Но не все пользователи на это способны

Буквы пользователь не сможет ввести , так как стоит тип число. А вот про только цифры не подумал. :?
Хотя проверил в окне данных фигур после того , как записать там единицу измерений, после этого просто число не получается ввести, последняя единица измерения сама дописывается 8-)
Содержимое спрятано под спойлер ↓
Спойлер:
Вложение:
7.gif
7.gif [ 77.87 Кб | Просмотров: 159 ]

_________________
Группа в VK Фигуры электрики для Visio


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

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



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

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


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

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