Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 3 ]
- alex77755
- рядовой
- Неактивен
- Зарегистрирован: 10.04.2013
- Сообщений: 1
Тема: Программно назначить Shape: Выравнивание
Всем доброго дня
В цикле переконвертировал в нужный формат кучу Shape.
Не знаю как обратиться к свойствам, отвечающим за выравнивание.
Нужно установить выравнивание по центру относительно страницы.
Макрос в ворде не хочет записывать эти действия.
Но ведь, наверняка, это можно сделать макросом
- viter.alex
- Модератор
- Неактивен
- Откуда: Харьков, Украина
- Зарегистрирован: 21.12.2009
- Сообщений: 884
- Поблагодарили: 140
Re: Программно назначить Shape: Выравнивание
Нужно использовать два свойства. Первое RelativeHorizontalPosition, чтобы задать относительно чего выравнивать положение фигуры. И второе — LeftRelative, чтобы в процентах задать выравнивание. Например, для выравнивания по-горизонтали относительно страницы нужно задать RelativeHorizontalPosition= wdRelativeHorizontalPositionPage и LeftRelative = 50
Лучше день потерять — потом за пять минут долететь!
- shanemac51
- генерал-полковник
- Неактивен
- Зарегистрирован: 05.03.2012
- Сообщений: 467
- Поблагодарили: 119
Re: Программно назначить Shape: Выравнивание
есть несколько типов графических элементов
для shape
Sub w130410_1419()
Dim sh As Shape
Dim n1, n2
Debug.Print "Shapes=", Word.ActiveDocument.Shapes.Count
Debug.Print "InlineShapes=", Word.ActiveDocument.InlineShapes.Count
Debug.Print "Frames=", Word.ActiveDocument.Frames.Count
For Each sh In Word.ActiveDocument.Shapes
With sh
.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
End With
With sh
'.LeftRelative = 25 ''дает ошибку
''d------------в комментах --отладка---
''Debug.Print 101, .RelativeHorizontalPosition, LeftRelative, 999
''25.4-72p ''дюйм=25.4мм=72пункта
''125- xp
n1 = (.Width * 25.4 / 72) / 2 ''mm
'n2 = .Left * 25.4 / 72 ''mm
'.Width
.Left = (105 - n1) * 72 \ 25.4 ''point
'InchesToPoints(1)
'InchesToPoints(1)
''Debug.Print 102, .Left, .Width, n1, n2
End With
Next sh
Debug.Print "fin="; Now
End Sub
Сообщений [ 3 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Программно назначить Shape: Выравнивание
Даже довольно долго работая с текстами и досконально изучив редактор, Ворд, к примеру, порой мы сталкиваемся с необходимостью выполнить какую-то операцию, которая занимает довольно много времени. На портале о Microsoft Office Word вы узнаете про: как сделать текст на линии в ворде.
В такой ситуации поможет опыт других пользователей.
На форуме сайта Ворд Эксперт собрана огромная коллекция шаблонов и макросов для этого приложения. На портале о Microsoft Office Word вы узнаете про: ошибка при установке ворд 2007.
Здесь вы также найдете ответы на вопросы, по настройкам и оптимальному использованию различных вордовских функций. На портале о Microsoft Office Word вы узнаете про: где найти эквейшн в ворде.
Если необходимо быстрое готовое решение, то в соответствующем подразделе форума можно подать заявку, описав свою проблему. Наш сайт о Microsoft Office Word даст ответ про: создать собственную панель инструментов exel 2007.