Определение размеров Shape

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Я_Алешко
Сообщения: 3
Зарегистрирован: 22 окт 2009, 18:03

Добрый день. Увяз в головоломке-может кто помочь сможет.

Задача: Нужно определить сколько будет занимать Shape с текстом(текст не постоянный) по высоте. Для дальнейших операций. Работа с документом word ведется из Lotus Notes.

1) Работал над следующей идеей:
а) создаем Shape с начальными(высоту задаю любую) размерами
б) ставим Shape.TextFrame.Autosize=true
в) считываем новый Shape.Height
Загвоздка возникла в следующем: новые размеры я получаю только, если перед пунтом в поставить Sleep на 5-6 секунд/

Код:
text1= "ЛИСТ СОГЛАСОВАНИЯ"
TextOrientation=msoTextOrientHorizontal
lefft=Point(2.5)
top=point(2.5)
widtth=Point(17)
height=point(2.5)
Set MyShape = wordDoc.Shapes.AddTextbox(TextOrientation, Lefft,Top,Widtth,Height)
MyShape.Fill.Transparency = 1 'прозрачность фона
MyShape.Line.Transparency = 1 'прозрачность границ textbox'a
MyShape.TextFrame.AutoSize=True Включаю AutoSize
MyShape.TextFrame.TextRange.Font.Name = "Times New Roman"
MyShape.TextFrame.TextRange.Paragraphs(1).Alignment=1
MyShape.TextFrame.TextRange.Font.Size=14
MyShape.TextFrame.TextRange.Paragraphs.LineSpacingRule=1
Вставляю текст
MyShape.TextFrame.TextRange.Text =text1
If text2<>"" Then
MyShape.TextFrame.TextRange.InsertParagraphAfter
MyShape.TextFrame.TextRange.Paragraphs(2).Alignment=3
MyShape.TextFrame.TextRange.InsertAfter(text2)
End If
не помогает даже переполучение объектов
Set MyShape=Nothing
Set MyShape=wordDoc.Shapes(1)
Dim D As Variant
Set D=wordDoc.Shapes(1)


Msgbox Cstr(Myshape.Height) -старое значение
Msgbox Cstr(D.Height) -новое значение
Msgbox Cstr(wordDoc.Shapes(1).height) -новое значение



Может я вообще принципиально не правильно подошел к решению задачи? И есть другие способы?
Или может кто знает как справиться с этим отставанием по времени?
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
вот и жди помощи((
все уже разобрался))
Ответить