1

Тема: как убрать перекрытие текстом inlineSapes ?!

Word 2007
1. При вставке в файл (1) содержимого буфера обмена (равно вставки файла (2) ) рисунки, вполне видимые в файле (2) "залазят" под текст в файле (1).

Попытка преобразовать их в InlineShapes путем

For Each iShape In ActiveDocument.InlineShapes
    iShape.ConvertToShape
Next iShape

показывает, что это уже InlineShapes.

обратное преобразование InlineShapes --> .ConvertToShape
делает рисунки видимыми, но расположенными в произвольном месте страницы.

Кто подскажет как забороть эту муету? 2 часа уже потерял, отчет "горит".

2

Re: как убрать перекрытие текстом inlineSapes ?!

Может кому понадобится.
Решение надено:

Sub PLACE_PIC_INLINE()

For Each iShape In ActiveDocument.InlineShapes
    iShape.Select
    Selection.Style = ActiveDocument.Styles("Без интервала")
Next iShape

End Sub

Все картинки "вылезают" из под текста, становясь "классическими" InlineShapes.

Поубивал бы программистов наваявших MS Office 2007 - вопрос, который даже не возникал в Ворд 2003, убил 3 часа жизни. Меньшевики.

Отредактировано iasmer (09.12.2010 19:00:05)

3

Re: как убрать перекрытие текстом inlineSapes ?!

судя по коду, вы для фигуры применили стиль "Без интервала"???
Мне кажется, тут есть и другое решение, лежащее в обтекании фигуры текстом..
Но если все работает, то, как говорится, лучше не трогать.. smile

4

Re: как убрать перекрытие текстом inlineSapes ?!

Все оказалось проще и глупее.
В подавляющем большинстве файлов (которыми я пользуюсь, это в основном унаследованные от Ворд 2003 тексты - переход к Ворд-2007 - около 3-х мес. назд), чудесным образом в качестве дефолтного выставлен межстрочный интервал "точно 9,2 пт" (при этом текстовое содержимое - нормальное, т.е. обычно с 1-м интервалом). Судя по всему,  при вставке картинка InlineShape вставляется с этим дефолтным интервалом, вне зависимости от интервала окружающего текста. Т.е. можно не мудрить с VBA, а просто в конце "выделить все" и выставить интервал "одинарный". Млин, ну ктоб мог подумать, время убито - тьма.
Не подскажите, где б поправить в настройках, чтоб забыть навсегда?

Отредактировано iasmer (10.12.2010 15:53:00)

5

Re: как убрать перекрытие текстом inlineSapes ?!

Нужно менять собственно у стиля, который используется по умолчанию. В русском языке, обычно, это стиль "Обычный"

P.S. Добавлю: у стиля в шаблоне, на основе которого у вас и создан данный документ.

Отредактировано admin (11.12.2010 09:40:17)