Форум пользователей Visio
http://visio.getbb.ru/

Добавление секции ShapeData и N-ного количества строк в нее
http://visio.getbb.ru/viewtopic.php?f=15&t=137
Страница 1 из 1

Автор:  Surrogate [ 03 июл 2012, 12:43 ]
Заголовок сообщения:  Добавление секции ShapeData и N-ного количества строк в нее

Код:
Sub AddCustomProperties()
Dim shp As Shape    ' определяем переменную shp - шейп которому мы добавляем ShapeData
Dim N As Integer     ' определяем переменную N - количество пунктов меню ShapeData
N = Cint(InputBox("Укажите какое количество строк ShapeData, Вы хотите добавить"))  ' ввод значения через форму Inputbox
Set shp = ActivePage.Shapes.ItemFromID(1) ' присвоение переменной shp - шейпа с ID = 1
shp.AddSection visSectionProp             ' добавление секции ShapeData
For x = 1 To N                            ' цикл перебора от 1 до N
shp.AddRow visSectionProp, visRowLast, visTagDefault ' добавление нового пункта в ShapeData
shp.CellsSRC(visSectionProp, x, visCustPropsValue).FormulaU = "0" ' заполнение поля Value в N-ного пункта ShapeData по умолчанию
shp.CellsSRC(visSectionProp, x, visCustPropsPrompt).FormulaU = """""" ' заполнение поля Prompt в N-ного пункта ShapeData по умолчанию
shp.CellsSRC(visSectionProp, x, visCustPropsLabel).FormulaU = """""" ' заполнение поля Label в N-ного пункта ShapeData по умолчанию
shp.CellsSRC(visSectionProp, x, visCustPropsFormat).FormulaU = """""" ' заполнение поля Format в N-ного пункта ShapeData по умолчанию
shp.CellsSRC(visSectionProp, x, visCustPropsSortKey).FormulaU = """""" ' заполнение поля SortKey в N-ного пункта ShapeData по умолчанию
shp.CellsSRC(visSectionProp, x, visCustPropsType).FormulaU = "0" ' заполнение поля Type в N-ного пункта ShapeData по умолчанию
shp.CellsSRC(visSectionProp, x, visCustPropsInvis).FormulaU = "FALSE" ' заполнение поля Invisible в N-ного пункта ShapeData по умолчанию
shp.CellsSRC(visSectionProp, x, visCustPropsAsk).FormulaU = "FALSE" ' заполнение поля Ask в N-ного пункта ShapeData по умолчанию
shp.CellsSRC(visSectionProp, x, visCustPropsLangID).FormulaU = "1049" ' заполнение поля Language в N-ного пункта ShapeData по умолчанию
shp.CellsSRC(visSectionProp, x, visCustPropsCalendar).FormulaU = "0" ' заполнение поля Calendar в N-ного пункта ShapeData по умолчанию
shp.CellsSRC(visSectionProp, x, visCustPropsValue).RowNameU = x ' заполнение поля Name в N-ного пункта ShapeData по умолчанию
Next x
End Sub

Автор:  9rey [ 04 июл 2012, 22:32 ]
Заголовок сообщения:  Re: Добавление секции ShapeData и N-ного количества строк в нее

Код:
N = InputBox("Укажите какое количество строк ShapeData, Вы хотите добавить") * 1


я так понимаю, что "* 1" это для перевода из текста в цифру? это конечно круто))
но наверно лучше пользоваться ф-ями преобразования. в данном случае лучше так:

Код:
N = CInt(InputBox("Укажите какое количество строк ShapeData, Вы хотите добавить"))

Автор:  Surrogate [ 05 июл 2012, 11:12 ]
Заголовок сообщения:  Re: Добавление секции ShapeData и N-ного количества строк в нее

да, действительно есть же функции преобразования :) как я про них забыл… :oops:

спасибо за науку !!!

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/