Author |
Topic |
|
maniac
Russia
25 Posts |
Posted - 02/27/2009 : 14:14:13
|
Привет! Проблема - извлекаю из шейп-листа стенсила Height = 20 м. Для дальнейших вычислений, необходимо получить число 20, а не 20 м. Помогите, погрязшему в пучине программного кода, а...? |
|
bdfy
Belarus
267 Posts |
Posted - 02/27/2009 : 14:23:48
|
я например ничего не понял в вопросе. единственное что могу сказать все длины в визио в дюймах. соответсвенно надо переводить в метры если что. в этом проблема ? |
|
|
maniac
Russia
25 Posts |
Posted - 02/27/2009 : 14:42:51
|
Sorry, наверное некорректно задал вопрос. Работаю в VBA, пишу: EqWidth = ActivePage.Shapes(i).Cells("Width").Formula Получаю: 20 м. Далее вычисляю: EqWidth=EqWidth+6 Visio ругается. Для вычислений надо число 20, а не 20 метров.
|
|
|
bdfy
Belarus
267 Posts |
Posted - 02/27/2009 : 15:40:58
|
а если больший кусок (включая весь цикл) сюда запостить ? |
|
|
maniac
Russia
25 Posts |
Posted - 02/27/2009 : 15:54:28
|
Это кусок моей программы: Set MyShape = ActivePage.DrawRectangle(0, 0, 800, 200) 'рисую прямоугольник ActiveWindow.Selection.Item(1).NameU = "Equip1" 'обзываю его EqWidth = ActivePage.Shapes("Equip1").Cells("Height").Formula 'обращаюсь к нему по имени и присваиваю значение ячейки Height EqWidth = EqWidth + 10 'произвожу вычисления и получаю ругань! |
|
|
Tumanov
Russia
1198 Posts |
Posted - 02/27/2009 : 16:18:59
|
Не усложняйте себе жизнь... Если Вам нужна не строка, а значение, то надо использовать не EqWidth = ActivePage.Shapes("Equip1").Cells("Height").Formula а EqWidth = ActivePage.Shapes("Equip1").Cells("Height") Естественно, в этом случае Вы получите не "20 м", а просто 200. И надо помнить, что это 200 дюймов.
|
|
|
ukreni
Ukraine
35 Posts |
Posted - 03/02/2009 : 06:13:41
|
А можно так получить результат: EqWidth = ActivePage.Shapes("Equip1").Cells("Height").result("m")
Результат будет просто 20. |
|
|
maniac
Russia
25 Posts |
Posted - 03/02/2009 : 07:37:29
|
Спасибо, ребята, что не бросили в беде одинокого деревянненького любителя Visio. |
|
|
|
Topic |
|