Статьи из блога
Задать обтекание текстом для всех рисунков в документе
Вопрос от Макса:
Нужно в документе WORD сделать обтекание текстом ВСЕХ рисунков. Как это сделать? По одному делается без проблем, но их очень много, а всех вместе никак...
Попробуйте такой макрос (на копии документа - на всякий случай):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Sub wrapImages() 'Обтекание текстом для всех типов графических объектов Dim pic As Object On Error Resume Next For Each pic In ActiveDocument.Content.InlineShapes If pic.Type = wdInlineShapePicture Then pic.InlineShapes(1).ConvertToShape pic.ShapeRange.WrapFormat.Type = wdWrapTight End If Next For Each pic In ActiveDocument.Content.ShapeRange If pic.Type = msoPicture Then pic.ShapeRange.WrapFormat.Type = wdWrapSquare End If Next End Sub |
Рубрика: Вопрос-Ответ, Макросы, Стили и форматирование
Метки: макросы | рисунки
Просмотров: 21897
Подписаться на комментарии по RSS
Версия для печати
Метки: макросы | рисунки
Просмотров: 21897
Подписаться на комментарии по RSS
Версия для печати
Еще записи по вопросам использования Microsoft Word:
- 10 вопросов и ответов по редактору Word (1 часть)
- 3 способа очистки списка недавно открытых документов
- Word 2007: добавляем свою вкладку и свои команды
- Word 2007: полотно, рисунки, линии
- Word 2007: смена формата сохранения файла
- Word 97 - решение проблемы с отображением символов на линейке
- Word 97. Слияние документов как один из способов упростить свою работу
- Абзац с цветным фоном
- Автозаполняемые колонтитулы
- Автоматизация текстового набора в Word
- Автоматическая запись макроса
- Автоматическая нумерация билетов
- Автоматическая расстановка переносов
- Автоматическое обновление полей при открытии документа
- Автоматическое сохранение документа при его закрытии
- Автотекст с последовательной нумерацией
- Автоформат документов
- Белый текст на синем фоне в Word 2007
- Буквица
- Быстрая смена ориентации страниц документа
- Быстрое изменение стиля форматирования текста
- Быстрое перемещение между открытыми документами Word
- Быстрое создание нового документа на основе шаблона
- Быстрое удаление границ у таблицы
- Быстрый ввод текста с помощью команды =rand()
Комментариев: 2
Это особенно полезно при импортировании фрагментов документа из Open Office в Microsoft Word. При импортировании посредством обычной вставки и ипользования стилей конечного документа обтекание всех рисунков почему-то съезжает из В тексте в Вокруг рамки. Действительно для Microsoft Word 2007 и Open Office 3.2 (шаблон докмуента создавался в Word и редактировался в Open Office, после чего обратно импортировался в Word).
Мой вариант:
Sub
ImageWrapFormatBugFix()
'
' ImageWrapFormatBugFix Macro
'
'
Dim
Promt, Style, Title, Help, Ctxt, Response, MyString
Promt =
"This macro fixes a bug with wrapping patterns arising when importing data from a document Open Office. Do you want to continue?"
+ vbCrLf + vbCrLf +
"NB: Do not run this macro more than once."
Style = vbYesNo + vbCritical + vbDefaultButton2
Title =
"Wrapping patterns FIX"
Response = MsgBox(Promt, Style, Title +
" Welcome"
)
If
Response = vbNo
Then
Exit
Sub
End
If
Dim
Msg
Msg =
"Shapes in current document:"
+ vbCrLf
Msg =
"Name"
+ vbTab + vbTab +
"Current"
+ vbTab +
"Fixed"
+ vbCrLf
Dim
img
As
Object
For
Each
img
In
ActiveDocument.Content.ShapeRange
Msg = Msg + img.Name + vbTab +
CStr
(img.WrapFormat.Type)
img.WrapFormat.Type = wdWrapInline
Msg = Msg + vbTab +
CStr
(img.WrapFormat.Type) + vbCrLf
Next
Response = MsgBox(Msg, vbInformation, Title +
" Results"
)
End
Sub