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

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

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


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


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

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Ошибка при изменении значений ячеек ShapeData
СообщениеДобавлено: 17 апр 2012, 18:21 
Не в сети
Новичок

Зарегистрирован: 17 апр 2012, 18:04
Сообщений: 25
Очков репутации: 6

Добавить очки репутацииУменьшить очки репутации
Здравствуйте, уважаемые Гуру! Столкнулся с проблемой:
Я кладу на лист шейп программно из ACCESS, создаю на него ссылку, и пытаюсь вписать данные в поле Value раздела Shape Data. Если я записываю числовое значение, то все ОК. Если я пытаюсь записать строковое значение, выскакивает ошибка MS VB, а именно: Run-time error -2032466907, #NAME?
Вот фрагмент кода, на котором выскакивает ошибка:
Код:
vsoSheet.Cells("Prop.Position").Formula = "=" & Sign

Сначала было так и происходило то же самое:
Код:
vsoSheet.CellsSRC(visSectionProp, 0, visCustPropsValue).FormulaU = Sign


Повторюсь, если значение числовое или строковое, но из цифр ("200"), ошибки не возникает, ячейка записывается, как и положено.
Снова повторюсь, код запускается в ACCESS.
Опробовано на двух компьютерах.
В итоге, я не понимаю, как записывать программно значения в ячейки таблицы. Пытался записать в другие разделы - та же история. Пытался сначала принудительно указывать тип данных (0-строка) - та же история :?: :?: :?: :cry: :cry: :cry:

_________________
F1, ObjectBrowser и Artberg Вам в помощь!


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибка при изменении значений ячеек ShapeData
СообщениеДобавлено: 17 апр 2012, 20:34 
Не в сети
Новичок

Зарегистрирован: 17 апр 2012, 18:04
Сообщений: 25
Очков репутации: 6

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

_________________
F1, ObjectBrowser и Artberg Вам в помощь!


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Ошибка при изменении значений ячеек ShapeData
СообщениеДобавлено: 17 апр 2012, 23:23 
Не в сети
Content manager
Content manager
Аватара пользователя

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

В библиотеке данного форума была статья http://visio.artberg.ru/biblio/st005.htm
там приводится пример макроса из под экселя, думаю с access разница не большая

Код:
Set cell1 = Shp.CellsSRC(visSectionProp, visRowProp + 0, visCustPropsLabel)

дает нам ссылку на метку первого пользовательского свойства шейпа Shp.
А следующая команда заносит в эту ячейку значение метки (строковая переменная заключается в тройные кавычки).
cell1.Formula = """Тип"""

строковая переменная заключается в тройные кавычки

адаптируя к вашему вопросу:
1. можно значение вашей переменной sign заключать в тройные кавычки
2. можно после и перед переменной sign писать chr(34). chr(34) это собственно и есть кавычки
vsoSheet.CellsSRC(visSectionProp, 0, visCustPropsValue).FormulaU = chr(34) & Sign & chr(34)

лень искать это в DVS или каких-то официальных книгах

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


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

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



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

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


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

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