Vba word view type

title keywords f1_keywords ms.prod api_name ms.assetid ms.date ms.localizationpriority

View.Type property (Word)

vbawd10.chm161808384

vbawd10.chm161808384

word

Word.View.Type

0168c7cd-147f-b81b-2a56-3c3f751cc4b0

06/08/2017

medium

View.Type property (Word)

Returns or sets the view type. Read/write WdViewType.

Syntax

expression.Type

expression Required. A variable that represents a ‘View’ object.

Remarks

The Type property returns wdMasterView for all documents where the current view is an outline or a master document. The current view will never return wdOutlineView unless explicitly set first in code.

To check whether the current document is an outline, use the Type property and the Subdocuments collection’s Count property. If the Type property returns either wdOutlineView or wdMasterView and the Count property returns zero, the document is an outline. For example:

Sub VerifyOutlineView() 
 With ActiveWindow.View 
 If .Type = wdOutlineView Or wdMasterView Then 
 If ActiveDocument.Subdocuments.Count = 0 Then 
 . 
 . 
 . 
 End If 
 End If 
 End With 
End Sub

Example

This example switches the active window to print preview. The Type property creates a new print preview window.

ActiveDocument.ActiveWindow.View.Type = wdPrintPreview

See also

View Object

[!includeSupport and feedback]

  1. Коллекция
    Paragrahs.
  2. Интервалы.
  3. Отступы
    и выступы.
  4. Создание
    структуры документа.
  5. Горизонтальное
    выравнивание.
  6. Буквица.
  7. Формат
    абзацев.
  8. Границы.

1.Коллекция Paragraphs.

Любой документ Word состоит из
набора абзацев, которые образуют структуру документа. Признаком конца абзаца
является непечатаемый символ абзаца, который по умолчанию невидим.

Для его отображения в окне диалога Параметры, которое
отображается выбором команды Сервис необходимо установить флажок Знаки
абзацев
. Это также можно выполнить, используя следующий код:

ActiveWindow.View.ShowParagraphs
= True

ActiveWindow – это объект типа Window, связанный с текущим активным окном редактирования Word. Чтобы скрыть знаки абзацев, свойству ShowParagraphs необходимо присвоить значение False.

Для автоматизации работы с абзацами следует использовать
коллекцию Paragraphs, которая содержит все абзацы
конкретного документа. Доступ к нужному абзацу осуществляется с помощью объекта
Paragraph, являющегося конкретным абзацем документа.

Для получения ссылки на коллекцию можно использовать
следующий синтаксис.

Dim objParagraphs as Paragraphs

Set objParagraphs = Documents(Item).Paragraphs

Здесь Item – индекс, указывающий
на определенный документ из семейства открытых документов Documents.

Для перебора всех абзацев документа можно использовать цикл For EachNext

В примере показан код, позволяющий выровнять все
абзацы по центру.

Dim b As Paragraph

For Each b In ActiveDocument.Paragraphs

b.Alignment = wdAlignParagraphJustify

Next

Для получения ссылки к отдельному абзацу можно получить с
помощью метода Item, являющегося
методом по умолчанию.

Синтаксис:

Dim objParagraph as Paragraph

Set objParagraph = Doocuments
(Item).Paragraphs.[Item](Index)

Itemиндекс
указывающий на определенный документ из семейства открытых документов Documents.

Index – указывает на порядковый
номер абзаца в семействе Paragraphs. Первый абзац
документа имеет индекс 1, а индекс последнего можно узнать с помощью свойства Count объекта Paragraphs.

В примере показан код, позволяющий отобразить
информационное окно, в котором будет показан индекс последнего абзаца активного
документа:

MsgBox
«индекс последнего абзаца:» & ActiveDocument.Paragraphs.Count

Для перемещения по абзацам документа можно использовать методы
Next и Previews.

Первый метод позволяет получить ссылку на следующий абзац, а
второй на предыдущий абзац.

Синтаксис:

objParagraph.Next

или

objParagraph.Preview

Для форматирования абзацев также можно использовать объект ParagraphFormat. Этот объект обладает такими же свойствами
и методами, связанными с форматированием отдельного абзаца, как и объект Paragraph. Для объявления объекта типа ParagraphFormat
можно использовать следующий синтаксис:

Dim objParformat
as ParagraphFormat

Set objParFormat = Document(Item).Paragraph(Index).Format

Для создания нового абзаца используется метод Add объекта Paragraphs.

Синтаксис:

ObjParagraph.Add[(range)]

Параметр Range позволяет указать
область, перед которой будет добавлен новый абзац. Если параметр опущен, то
абзац добавляется в конец документа.

В примере показан код позволяющий присвоить
переменной objParagraph ссылку на новый абзац,
добавленный перед выделенным фрагментом или в месте, на которое указывал
курсор.

Dim g As Paragraph

Set g = ActiveDocument.Paragraphs.Add(Selection.Range)

2.Интервалы.

Абзацные.

Интервалы между абзацами позволяют создавать визуальное
разделение между значимыми абзацами, например между заголовками и основным
текстом.

Для задания интервалов между абзацами можно использовать три
метода и два свойства.

Метод OpenUp позволяет
вставить перед данным параграфом интервал, равный 12 пунктам. Использование
этого метода эквивалентно присвоению соответствующего значения свойству SpaceBefore.

ObjParagraph.SpaceBefore[=space]

Параметр Space (тип Long) содержит целое неотрицательное число, указывающее на
величину интервала перед данным абзацем.

Свойство SpaceAfterсодержит
целое неотрицательное число, указывающее на величину интервала после данного
абзаца.

Метод CloseUpпозволяет
удалить интервалы перед данным абзацем. Использование этого метода эквивалентно
присвоению свойству SpaceBefore значение 0.

Метод OpenOrCloseUp позволяет
управлять установлением и удалением абзацных интервалов. Если абзац не имеет
интервала (свойство SpaceBefore имеет значение 0), то
этот метод позволяет установить его подобно методу OpenUp.
Если интервал уже существует, то метод удаляет его подобно методу CloseUp.

Методы DecreaseSpacing  и  IncreaseSpacing позволяют соответственно уменьшить или
увеличить величину абзацного интервала на 6 пунктов одновременно перед абзацем
и после него.

Межстрочные.

Межстрочные интервалы позволяют задать величину расстояния
между строк в пунктах. По умолчанию для текста, отформатированного стилем Обычный, величина межстрочного интервала равна 12 пунктам.

Межстрочные интервалы изменяются с помощью методов
Space1, Space15 и
Space2. Применение этих методов позволяет увеличить
стандартный межстрочный размер в один, полтора и два раза соответственно.

Свойство LineSpacingсодержит
текущую величину межстрочного значения.

ObjParagraph.LineSpacing[=Space]

Параметр Space позволяет
указать необходимую величину межстрокового интервала.

Пример: показан код, позволяющий проверить величину межстрокового интервала у всех в документе и, если такие имеются, присвоить им значение по умолчанию (12 пунктов)

Dim G As Paragraph

For Each G In ActiveDocument.Paragraphs

With G

If .LineSpacing > Application.LinesToPoints(1) Then

.Space1

End If

End With

Next

Метод LinesToPoints объекта
Application позволяет преобразовать линии в пункты.

Application.LinesToPoints(Lines)

Параметр Lines позволяет
задать число линий, значение которых нужно преобразовать в пункты. Например,
если параметр Lines имеет значение 2, то метод
возвращает число 24.

Свойство LineSpacingRule  позволяет установить значение межстрокового интервала в абзаце.

wdLineSpaceAtLeast – минимальный
размер

wWdLineSpaceExactly – точный
размер

 wdLineSpaceMultiple
— множитель

3.Отступы и выступы.

Отступы и выступы позволяют выполнить в документе выделения
определенных абзацев текста. Они создаются с помощью дополнительных полей
страницы.

Метод Indent – позволяет
сместить все строки абзаца вправо на величину равную одной табуляции.
Использование этого метода аналогично смещению вправо указателя отступа,
находящегося на верхней линейке в окне редактирования.

Метод IndentCharWidth позволяет
сместить все строки абзаца вправо на указанное число символов.

ObjParagraph.IndentCharWidth (Count)

Метод IndentFirstLineCharWidth позволяет
сместить вправо только первую строку абзаца, т.е. создать «красную строку».

Свойство FirstLineIndent содержит
число пунктов, на которые первая строка абзаца смещена вправо или влево. Если
«красной строки» нет, то свойство возвращает нуль. Если строка имеет отступ, то
возвращается значение большее нуля, если выступ – меньше нуля.

objParagraph.FirstLineIndent[=count]

При присвоении свойству некоторой величины в пунктах можно
использовать метод LinesToPoints объекта Application, который позволяет преобразовать размер
стандартной ширины линии в пункты: одна линия = 12 пунктам.

Пример: показан код, позволяющий выполнить отступ первого
абзаца и отступ его первой строки на 12 пунктов.

With ActiveDocument.Paragraphs(1)

.Indent

.FirstLineIndent = LinesToPoints(1)

End With

Метод TabHangingIndent позволяет
выполнить отступ и выступ первой строки абзаца на значение, кратное величине
табуляции.

ObjParagraph.TabHangingIndent(count)

Параметр Count (тип Integer) содержит число, характеризующее количество
символов табуляции, на которое должна быть смещена первая строка абзаца -–при смещении вправо значение должно быть положительным, а
влево – отрицательно.

Метод Outdent позволяет
сместить все строки абзаца влево на величину, равную одной табуляции.

Свойство LeftIndent содержит
значение в пунктах, на которые смещен абзац слева.

Свойство RightIndent содержит
значение в пунктах, на которые смещен абзац справа.

Метод TabIndent позволяет
выполнить отступ или выступ левой границы абзаца на значение, кратное величине
табуляции.

4.Создание структуры документа.

Режим структуры документа – это особый режим, в котором
документ может быть представлен на необходимом уровне детализации: от
заголовков первого уровня до абзацев. Режим структуры предназначен для работы с
большими документами, имеющими множество заголовков разных уровней.

В режиме структуры базовым элементом для работы является
абзац. Это не исключает возможность редактирования текста, однако, все
инструменты, определенные для этого режима, действуют только на абзацы или
структуры образованные абзацами.

Как правило, при работе с текстом документа управляющие его
структурой, применяются ко всем абзацам, а свойства – к конкретным абзацам.

Метод OutLinePromote позволяет
повысить уровень текущего абзаца.(если абзац
отформатирован стилем Заголовок2, то применение этого метода автоматически
назначит ему стиль Заголовок1.)максимальный уровень – первый.

Метод OutLineDemote позволяет
понизить уровень текущего абзаца. Минимальный уровень – девятый.

Метод OutLineDemoteToBody позволяет
понизить абзац, являющийся заголовком любого уровня, до обычного текста.

Пример: показан код позволяющий преобразовать все абзацы,
отформатированные стилем заголовок9 в обычный текст

Dim t As Paragraph

For Each t In ActiveDocument.Paragraphs

If t.OutlineLevel = wdOutlineLevel9 Then

t.OutlineDemoteToBody

End If

Next

Свойство OutLineLevel содержит
значение, указывающее на текущий уровень абзаца.

5.Горизонтальное выравнивание.

Для горизонтального выравнивания текста в документе можно
использовать выравнивание строк абзаца по левому или правому краю, по ширине или
по центру. По умолчанию Word выравнивает весь текст
по левому полю документа.

Свойство Aligment позволяет
выполнить горизонтальное выравнивание.

ObjParagraph.Aligment [=Aligment]

Параметр Aligment позволяет
установить порядок выравнивания:

wdAlignParagraphLeft – по левому
краю

 wdAlignParagraphCenter
– по центру

 wdAlignParagraphRight
– по правому краю

 wdAlignParagraphJustify
– по ширине

6.Буквица.

Буквица – это большая заглавная буква первого слова в
абзаце.

В VBA создание буквиц в документе реализуется с помощью свойства
DropCap
объекта Paragraph.

Пример: создать буквицу для первого абзаца активного
документа.

With ActiveDocument.Paragraphs(1).DropCap

.Position =
wdDropNormal

.LinesToDrop = 3

End
With

7.Формат абзацев.

Форматирование абзаца документа выполняется с помощью
объекта ParagraphFormat, ссылку на который можно
получить с помощью свойства Format объекта Paragarph. (смотрите выше)

Ссылку на объект типа ParagraphFormat
можно сделать также с помощью свойства Paragraphformat
объекта Selection.

Selection.ParagraphFormat

Этот способ более предпочтителен, так в этом случае ссылка
не будет привязана к конкретному абзацу. Объект ParagarphFormat
будет связан с абзацем, выделенным в текущий момент, или с тем, в котором
находится курсор.

Объявлять переменную и типа ParagarphFormat
имеет смысл только при использовании сложного форматирования. Для внесения
небольших изменений  удобнее использовать
свойство Format.

Пример: горизонтальное выравнивание всех абзацев документа
по центру.

ActiveDocument.Paragraphs.Format.Alignment = wdAlignParagraphCenter

8.Границы.

В VBA для доступа к любым границам используется объект Borders, являющийся семейством объектов Border,
каждый из которых связан с границей.

Для получения ссылки на семейство Borders
можно использовать свойство Borders.

ObjParagraph.Borders[(Border)]

Параметр Boredr позволяет
указать на конкретную границу.

Пример: назначаем нижней границе первого абзаца стиль
двойной линии.

 ActiveDocument.Paragraphs(1).Borders(wdBorderBottom).LineStyle = wdLineStyleDouble

Формат границы устанавливается с помощью свойств linestyle и LineWidth. Свойство lifestyle – позволяет установить стиль линии границы, а
свойство LineWidth ее ширину.

objBorder.LineStyle[=LineStyle]

objBorder.LineWidth[=LineWidth]

Цвет линии определяется с помощью свойства Color.

objBorder.ColorIndex [=Color]

Dim s As Border

Set s = ActiveDocument.Paragraphs(1).Borders(wdBorderLeft)

With s

 . LineStyle = wdLineStyleDot

. ColorIndex = wdBlue

. LineWidth = wdLineWidth025pt

End With

9.Объект
Document.

Объект Document представляет собой
конкретный документ, открытый в MS Word. Доступ к
нему можно получить с помощью коллекции Documents.

По умолчанию любой только что открытый документ является
активным. Однако при работе с несколько открытыми документами требуется механизм активизации нужного документа для этого
используется
метод Activate.

Синтаксис:

ObjDocument.Activate

Метод возвращает ссылку на объект типа Document.

Пример:

Set objDocument1=Documents.Add
‘создание и активизация документа Doc1

Set objDocument2=Documents.Add
‘создание и активизация документа Doc2

objDocument1.Activate ‘активизация документа Doc1

Для обращения к активному документу можно использовать
глобальное свойство ActiveDocument, которое
возвращает ссылку на объект типа Document. При таком
обращении можно избежать идентификации конкретного документа, обращаясь к
активному в данный момент времени документу напрямую.

 Кроме объекта
связанного с активным документом, в VBA имеется объект, связанный с текущим
документом. Объект ThisDocumentсе всегда указывает на
тот документ , в проектк
которого он объявлен. Свойства и методы объекта ThisDocument
соответствуют свойствам и событиям объекта Document

Этот объект является глобальным и его дополнительное
объявление не требуется. Свойства.

GrammarCheckedопределяет была ли запущена проверку грамматики для
заданного документа(true) или нет (false). В случае необходимости повторного запуска
грамматики этому свойству следует задать значение false.

GrammaticalErrors – возвращает
коллекцию ProfreadingErrors, которая включает
предложения, содержащие грамматические ошибки диапазона или всего документа. В
том случае, если грамматические ошибки отсутствуют, свойство GrammaticalErrors возвращает значение 0.

Name – определяет имя файла на
диске, в котором хранится документ. С помощью этого свойства можно получить имя
файла, но нельзя изменить его.

Paragraphs – возвращает коллекцию Paragraphs, которая содержит все абзацы в заданном
документе, диапазоне или выделении.

ReadOnly – это свойство имеет
значение true, если внесенные в документ изменения не
могут быть сохранены в нем.

Saved – если файл не сохранен, то
данное свойство имеет значение true; еслм нет – False.

ShowSpellingErrorstrue _позволяет установить режим
подчеркивания слов, содержащих орфографические ошибки.

ShowGrammaticalErrors – позволяет
задать режим подчеркивания грамматических ошибок во время ввода текста в
документ(true).

Styles – возвращает коллекцию Styles, которая содержит все стили данного документа. Tables
возвращает коллекцию Tables, которая содержит все
таблицы данного документа, диапазона или выделения.

TablesOfContents — возвращает
коллекцию TablesOfContents, которая содержит все
оглавления данного документа.

Type – возвращает тип документа:

wdTypeDocument – обычный документ,

wdTypeTemplate – шаблон.

Windows — возвращает коллекцию Windows, которая содержит все окна данного документа.

Tables — возвращает коллекцию Tables, которая содержит все таблицы данного документа,
диапазона или выделения.

TablesOfContents — возвращает
коллекцию TablesOfContents, которая содержит все
оглавления данного документа.

Type – возвращает тип документа:

wdTypeDocument – обычный документ,

wdTypeTemplate – шаблон.

Windows — возвращает коллекцию Windows, которая содержит все окна данного документа.

Методы.

CheckGrammarпредназначен для проверки орфографии и грамматики в заданном
документе или диапазоне. Если в результате проверки были найдены ошибки, то
будет автоматически загружено окно диалога Правописание. Заметим, что проверка
правописания может выполнятся для выделенного
текстового фрагмента или отдельного строкового выражения. В первом случае в
качестве родительского объекта используется объект Selection.

Selection.CheckGrammar

Чтобы проверить правописание в стоковом выражении,
необходимо использовать метод CheckGrammar объекта Application. Проверяемое выражение передается в метод с
помощью параметра String

Синтаксис: Application.CheckGrammar(String)

Признак выполнения проверки содержится в свойстве GrammarChecked.

В приведенном примере показан код, позволяющий создать
информационное окно, в котором содержатся все найденные в документе ошибки.

Sub ошибки()

With ActiveDocument.GrammaticalErrors

For i = 1 To .Count

s = s
& .Item(i) & vbCrLf(Комбинация символов возврата каретки и перевода
строки)

Next

End With

MsgBox s

End Sub

CheckSpelling
начинает проверку орфографии для заданного документа или диапазона.

PrintPreview – переключает
MS Word в режим предварительного просмотра документа.

Range – возвращает объект Range, задаваемый начальной и конечной позициями символов
фрагмента текста.

Синтаксис:

ObjDocument.Range(Start, End)

Start – определяет
позицию первого символа диапазона. Нулевое значение данного свойства
соответствует началу документа.

End – определяет  позицию последнего символа диапазона.

Redo – повторяет последнее
из отмененных до этого действий или целую последовательность отмененных
действий. Данный метод возвращает значение true, если
действие было повторено.

Синтаксис:

ObjDocument.Redo(Times)

Times – определяет количество
повторяемых действий.

Пример: ActiveDocument.Redo 2

Save – в отличии от одноименного метода коллекции Documents,
не имеет параметров. Данный метод аналогичен выполнению команды Файл®Сохранить.

SaveAs – позволяет
выполнить действия, аналогичные действиям, выполняемым командой Файл®Сохранить
Как. Параметры этого метода совпадают с параметрами, установленными в окне
диалога Сохранение документа.

objDocument.SaveAs(FileName, FileFormat,
LockComments, Password, AddToRecentFiles,
WritePassword, ReadOnlyRecommended,
EmbedTrueTypeFonts, SaveNativePictureFormat,
SaveFormsData, SaveAsAOCELetter)

Параметр FileName
содержит имя сохраняемого файла.

FileFormat – содержит формат в котором будет выполнено сохранение.

LockComments – содержит
указание на возможность добавления коментариев.

Password – пароль на открытие документа.

AddToRecentFiles – указывает на возможность добавления сохраняемого файла в список
недавно открытых в меню Файл.

WritePassword – пароль на
запись в документе.

ReadOnlyRecommended
указывает на создание обязательного предупреждения об открытии только для
чтения.

EmbedTrueTypeFonts
указывает на сохранение шрифтов вместе с документом.

SaveNativePictureFormat
указывает на сохранение внедренной графики в формате
Windows.

SaveFormsData – указывает
на сохранение данных, внесенных пользователем в форму.

SaveAsAOCELetter – если
сохраненный документ имеет присоединенную почтовую программу, то при задании
этому параметру значения true
документ будет сохранен как письмо.

 Undo – отменяет последнее
выполненное действие или последовательность действий.

Синтаксис: objDocument.Undo(times).

UpdateStyle – копирует все стили из
присоединенного шаблона в документ.
При этом выполняется автоматическая
замена всех уже имеющихся стилей с именами, совпадающими с именами стилей из шаблона.

Режим отображения документа. 

Для управлениями
отображения документа используется объект View, являющийся объектом-свойством объекта Window.

Синтаксис:

ObjWindow.View.Type[ = ViewType]

wdOutlineView – режим
структуры.

wdPrintView – режим
разметки.

wdNormalView – обычный
режим.

wdPruntPreview – режим
предварительного просмотра.

wdWebView – режим Web – документа.

Пример: показан код позволяющий перевести
документ из режима предварительного просмотра документа в обычный режим
просмотра

With ActiveWindow.View

If .Type = wdPrintPreview Then

.Type = wdNormalView

Else

MsgBox
«
режим отображения:» & .Type

End If

End WithРежим
отображения документа. 

Для управлениями
отображения документа используется объект View, являющийся объектом-свойством объекта Window.

Синтаксис:

ObjWindow.View.Type[ = ViewType]

wdOutlineView – режим
структуры.

wdPrintView – режим
разметки.

wdNormalView – обычный
режим.

wdPruntPreview – режим
предварительного просмотра.

wdWebView – режим Web – документа.

Пример: показан код позволяющий перевести
документ из режима предварительного просмотра документа в обычный режим
просмотра

With ActiveWindow.View

If .Type = wdPrintPreview Then

.Type = wdNormalView

Else

MsgBox
«
режим отображения:» & .Type

End If

End With

  1. Коллекция
    Paragrahs.
  2. Интервалы.
  3. Отступы
    и выступы.
  4. Создание
    структуры документа.
  5. Горизонтальное
    выравнивание.
  6. Буквица.
  7. Формат
    абзацев.
  8. Границы.

1.Коллекция Paragraphs.

Любой документ Word состоит из
набора абзацев, которые образуют структуру документа. Признаком конца абзаца
является непечатаемый символ абзаца, который по умолчанию невидим.

Для его отображения в окне диалога Параметры, которое
отображается выбором команды Сервис необходимо установить флажок Знаки
абзацев
. Это также можно выполнить, используя следующий код:

ActiveWindow.View.ShowParagraphs
= True

ActiveWindow – это объект типа Window, связанный с текущим активным окном редактирования Word. Чтобы скрыть знаки абзацев, свойству ShowParagraphs необходимо присвоить значение False.

Для автоматизации работы с абзацами следует использовать
коллекцию Paragraphs, которая содержит все абзацы
конкретного документа. Доступ к нужному абзацу осуществляется с помощью объекта
Paragraph, являющегося конкретным абзацем документа.

Для получения ссылки на коллекцию можно использовать
следующий синтаксис.

Dim objParagraphs as Paragraphs

Set objParagraphs = Documents(Item).Paragraphs

Здесь Item – индекс, указывающий
на определенный документ из семейства открытых документов Documents.

Для перебора всех абзацев документа можно использовать цикл For EachNext

В примере показан код, позволяющий выровнять все
абзацы по центру.

Dim b As Paragraph

For Each b In ActiveDocument.Paragraphs

b.Alignment = wdAlignParagraphJustify

Next

Для получения ссылки к отдельному абзацу можно получить с
помощью метода Item, являющегося
методом по умолчанию.

Синтаксис:

Dim objParagraph as Paragraph

Set objParagraph = Doocuments
(Item).Paragraphs.[Item](Index)

Itemиндекс
указывающий на определенный документ из семейства открытых документов Documents.

Index – указывает на порядковый
номер абзаца в семействе Paragraphs. Первый абзац
документа имеет индекс 1, а индекс последнего можно узнать с помощью свойства Count объекта Paragraphs.

В примере показан код, позволяющий отобразить
информационное окно, в котором будет показан индекс последнего абзаца активного
документа:

MsgBox
«индекс последнего абзаца:» & ActiveDocument.Paragraphs.Count

Для перемещения по абзацам документа можно использовать методы
Next и Previews.

Первый метод позволяет получить ссылку на следующий абзац, а
второй на предыдущий абзац.

Синтаксис:

objParagraph.Next

или

objParagraph.Preview

Для форматирования абзацев также можно использовать объект ParagraphFormat. Этот объект обладает такими же свойствами
и методами, связанными с форматированием отдельного абзаца, как и объект Paragraph. Для объявления объекта типа ParagraphFormat
можно использовать следующий синтаксис:

Dim objParformat
as ParagraphFormat

Set objParFormat = Document(Item).Paragraph(Index).Format

Для создания нового абзаца используется метод Add объекта Paragraphs.

Синтаксис:

ObjParagraph.Add[(range)]

Параметр Range позволяет указать
область, перед которой будет добавлен новый абзац. Если параметр опущен, то
абзац добавляется в конец документа.

В примере показан код позволяющий присвоить
переменной objParagraph ссылку на новый абзац,
добавленный перед выделенным фрагментом или в месте, на которое указывал
курсор.

Dim g As Paragraph

Set g = ActiveDocument.Paragraphs.Add(Selection.Range)

2.Интервалы.

Абзацные.

Интервалы между абзацами позволяют создавать визуальное
разделение между значимыми абзацами, например между заголовками и основным
текстом.

Для задания интервалов между абзацами можно использовать три
метода и два свойства.

Метод OpenUp позволяет
вставить перед данным параграфом интервал, равный 12 пунктам. Использование
этого метода эквивалентно присвоению соответствующего значения свойству SpaceBefore.

The Zoom dialog box which you can open via View tab > Zoom or by clicking the zoom percentage value in the bottom-right corner of the document window in Word includes a number of zoom options you can use to define how document pages are to be displayed and arranged on the screen. In addition, the Views group on the View tab of the Ribbon lets you select from a number of different view types.

This article explains how the different zoom and view options work and provides information about how to manage the zoom and view settings via VBA macros.

You will find macros ready for use that will force Word to open new or existing documents with a specific zoom or view plus a couple of other macro examples. You will also find information that can help you modify the macros to open with precisely the zoom and view type you want. You can also set up the macros so you can easily run them whenever you want.

As described in the article How To Open Word Documents With A Specific Zoom And View, Word 2010 and earlier versions let you manage how individual documents open without using macros. In Word 2013 and later versions this is no longer possible. Therefore, the macros are especially useful in Word 2013 and later versions but they can be useful in earlier Word versions too.

How to name macros so they will run automatically when you create, open or close a Word document

In order to use macros to set the zoom and view of new documents and existing documents you open in Word, you can take advantage of the macro naming rules listed below. Note that the macro names must be written exactly as shown below.

Macros in the Normal.dotm template

  • A macro with the name AutoNew in Normal.dotm will run automatically whenever you create a new Word document
  • A macro with the name AutoOpen in Normal.dotm will run automatically whenever you open an existing Word document
  • A macro with the name AutoClose in Normal.dotm will run automatically whenever you close a Word document

This means that macros in Normal.dotm named AutoNew, AutoOpen or AutoClose work globally on any Word document. The AutoClose macro name will not be used here but is listed for completeness.

Macros in other Word templates

  • A macro with the name AutoNew in a custom template will run automatically whenever you create a new Word document based on that template
  • A macro with the name AutoOpen in a custom template will run automatically whenever you open an existing Word document based on that template
  • A macro with the name AutoClose in a custom template will run automatically whenever you close a Word document based on that template

This means that macros named AutoNew, AutoOpen or AutoClose in another template than Normal.dotm only affect documents based on that specific template. The AutoClose macro name will not be used here but is listed for completeness.

Zoom and View in VBA operates on the View of document windows

In order to set or return the zoom and view of a Word document via VBA, you must tell Word which document window you refer to. If a window has been split in two panes, the examples below will apply to the active pane. You could also refer directly to a specific pane. Examples:

Example 1 — Refer to the View of the currently active window

With ActiveDocument.ActiveWindow.View
   ‘Do something with the view and zoom
End With

Example 2 — Refer to the View of a specific window of a specific document

With Documents(«MyDocument.docx»).Windows(1).View 
   ‘Do something with the view and zoom
End With

Zoom types you can use in macros

The Zoom dialog box in Word lets you select the zoom in different ways. The macros provided in this article show examples of how to set the zoom via VBA.

How to open Word documents with a specific zoom - the Zoom dialog box

The Zoom dialog box

In the table below, you will find a list of the wdZoom constants and the related values you can use in macros to set the zoom to any of the zoom types you can apply directly via the Zoom dialog box or related commands in the Word user interface:

Options in Zoom dialog box

VBA   .View…

More details

Percent -200%, 100%, 75% or custom value in the range 10-500.

Result:
Sets the magnification to the selected zoom percentage.

.Zoom.Percentage = [value]

Works with any View type.

Type in VBA: Long
Min. value = 10
Max. value = 500

Decimal values are rounded

Page width

Result:
Fits the width of the page to the window.

.Zoom.PageFit = wdPageFitBestFit
OR
.Zoom.PageFit = wdPageFitNone

Works only with Print Layout view and Print Preview.

When using wdPageFitBestFit, the zoom percentage is automatically recalculated every time the document window size is changed.

wdPageFitNone does not change the zoom.

Text width

Result:
Fits the width of text to the window, i.e. left and right margins are ignored.

.Zoom.PageFit = wdPageFitTextFit

Works only with Print Layout view and Print Preview.

Whole page

Result:
Adjusts zoom so the entire page is visible in the window.

.Zoom.PageFit = wdPageFitFullPage

Works only with Print Layout view and Print Preview

Many pages

Result:
Fits as many pages into the window as you select from the menu that appears when you click the arrow in the icon. For example, 2×3 pages, i.e. 2 pages down and 3 pages across. Via the dialog box, you cannot specify values higher than 4×2 (3×2 in Word 2007 and earlier versions).

Note:  If you don’t specify a number of pages across, Word will show as many pages as the window size and zoom allows. You can force Word to show only 1 page across by selecting 1×1 or 2×1.

.Zoom.PageRows = [value]
AND
.Zoom.PageColumns = [value]

Works only with Print Layout view and Print Preview.

.PageColumns defines the number of pages across, i.e. side by side.

.PageRows defines the number of pages down.

Type in VBA: Long
Min. value = 1
Max. value in VBA seems to be 98 in VBA.

Since the lowest possible zoom percentage is 10, the number of columns shown will never be higher than the number of pages that can be shown across with zoom 10%.

See also the note in the leftmost column.

View types you can use in macros

In the table below, you will find a list of the wdViewType constants and the related values you can use in macros to set the view type to any of the view types you can apply directly in the Word user interface:

View selected the Word user interface

Value

VBA — wdViewType

View tab > Draft  (or Normal)

1

wdNormalView

View tab > Outline

2

wdOutlineView

View tab > Print Layout

3

wdPrintView

Print Preview as in Word before the Backstage was implemented.
Can be selected via the commands File > Word Options > Customize Ribbon > All Commands > Print Preview Edit Mode 

4

wdPrintPreview

Related to master documents and subdocuments. The view type is not listed directly on the View tab. However, this view type is automatically selected for a master document if you select Outline view and click the Show document command on the Outline tab in the Ribbon.

5

wdMasterView

View tab > Web Layout

6

wdWebView

View tab > Read Mode (or Full Screen Reading)

7

wdReadingView

Cannot be selected via the user interface. Related to conflicts in relation to co-authoring (Word 2010 and later)

8

wdConflictView

How to set the window size in a macro

If you want, you can also add code in the macros that set the window size. Such code is not included in the macros below. Note that the window you operate on must be active.

Maximizing a window in a macro

Application.WindowState = wdWindowStateMaximize

Minimizing a window in a macro

Set the window size to a custom size

Application.WindowState = wdWindowStateMinimize

Setting the active window to the most recently used custom size

The following line of code will set the active window to the most recently used custom size, i.e. a size that is not maximized and not minimized:

Application.WindowState = wdWindowStateNormal

Macros ready for use

In the macros below, you can modify the zoom based on the information found it the table in the section Zoom types you can use in macros. Also, you can replace the wdPrintView with another view type as listed in the table in the section View types you can use in macros.

Note that, in general, the view type is set first in the macros to prevent errors in case of settings that do not apply to all types of views.

Macros #1 — Open Word documents with 100 % zoom and Print Layout view

AutoNew and AutoOpen macros that DO NOT force only one page across the window

The following two macros will automatically set the zoom percentage to 100% and set the view type to Print Layout when you create new document or open existing documents. Note, however, that Word will display as many pages across, side by side, as the window has room for. With wide and high-resolution monitors and a maximized window, there will often be room for two pages across.

Note that the code in the AutoNew and AutoOpen macros is the same — only the macro name and the comment differ.

You can modify the zoom percentage and view type as desired. See the overviews above for help om which code to use. Delete the irrelevant line of code if you want to set only the zoom or view.

The macro code:

Sub AutoNew()
    'Applies to new documents you create
    With ActiveWindow.View
        .Type = wdPrintView
        .​Zoom.Percentage = 100
    End With
End Sub

Sub AutoOpen()


    'Applies to existing documents you open
    With ActiveWindow.View
        .Type = wdPrintView
        .​Zoom.Percentage = 100
    End With
End Sub

AutoNew and AutoOpen macros that DO force only one page across the window

The following two macros are like the ones above with the difference that a line of code has been added to set PageColumns to 1 and thereby force Word to show only 1 page across even if there is room for more in the actual document window. That is the setup I prefer.

The macro code:

Sub AutoNew()
    'Applies to new documents you create
    With ActiveWindow.View
        .Type = wdPrintView
        .​Zoom.PageColumns = 1
        .​Zoom.Percentage = 100
    End With
End Sub

Sub AutoOpen()


    'Applies to existing documents you open
    With ActiveWindow.View
        .​Type = wdPrintView
        .​​Zoom.PageColumns = 1
        .​Zoom.Percentage = 100
    End With
End Sub

Note that you can obtain the same result in different ways. Example:

    'Another method to obtain Print Layout view, 100% zoom and 1 page across
    With ActiveWindow.View
        .Type = wdPrintView
        .Zoom.PageFit =wdPageFitFullPage
        .Zoom.Percentage = 100
    End With

What to do if you don’t want to set zoom and view automatically but only set the zoom and view on demand?

If you do not want to automatically apply zoom and view type when you create or open documents, you can use the same code as shown in the AutoNew and AutoOpen macros. You only need to name the macro differently, such as SetZoom100_PrintLayoutView or any other legal macro name of your liking.

You can add the macro to the Quick Access Toolbar and/or assign a keyboard shortcut to it for quick access.

Note that you can also add the AutoNew or AutoOpen macro to the  Quick Access Toolbar and/or assign a keyboard shortcut to it for quick access. Then the macros will still run automatically and, in addition, you can apply the setting whenever you want.

Macro #2 — Display multiple pages down and across

The macro below is an example of how you can display multiple pages down and across, here 2 pages down and 3 pages across. The result is the same as selecting 2×3 in the Zoom dialog box > Many pages.

The macro code:

Sub PrintLayoutView_2PagesDown_3PagesAcross()
    With ActiveWindow.View
        .Type = wdPrintView
        .Zoom.PageRows = 2
        .Zoom.PageColumns = 3
    End With
End Sub

Note that it does not necessarily make sense to specify both .PageRows and .PageColumns. When you set one of those values, it will indirectly influence the other value so they do not conflict.

Macro #3 — Draft view with style area pane displayed

In Draft view and Outline view, you can display an area to the left in the window that shows the style names of paragraphs. This is useful to keep track of the formatting. Note, however, that Word does not display style names in the style area pane in case of tables.

You can manually turn on the style area pane by setting a value in File > Options > Advanced > Display group > Style area pane in Draft and Outline views. See the illustrations below.

The Style area pane in Draft and Outline views option

The Style area pane in Draft and Outline views option

The illustration below shows the result of setting a width of the style area pane:

Example of style area pane

Example of style area pane (here marked by yellow)

The macro below switches to Draft view and sets the style area pane width to 3 cm. When the style area pane is visible, you can manually drag the vertical divider to change its width. If you set the width to 0 (zero), the style area pane will not be shown.

The macro code:

Sub DraftView_ShowStyleAreaPane()
    With ActiveDocument.ActiveWindow
        .View.Type = wdNormalView
        .View.Zoom = 100
        .StyleAreaWidth = CentimetersToPoints(3)
    End With
End Sub

Macro #4 — Relative change of zoom

The macro below is an example of how you can change the zoom percentage relatively compared to the current zoom. In this example, the zoom percentage is increased by 10%. For example, if the zoom percentage is 75%, it will be changed to 85%. You can run the macro repeatedly until the zoom percentage is as desired.

The macro code:

Sub IncreaseZoomBy10Percent()
    With ActiveDocument.ActiveWindow.View.Zoom
        .Percentage = .Percentage + 10
    End With
End Sub

Related information

For information about how Word document windows behave by default in Word 2010 and earlier versions, see my article How To Open Word Documents With A Specific Zoom And View,

You will find information about conflict view in this article: Conflict resolution mode in Word.

Использование объекта View

Вспомогательный объект View определяет многие аспекты отображения окна или области. Объект View обладает следующими свойствами.

Свойство объекта View

Для чего предназначено

Туре

Соответствует выбору из меню Вид таких команд, как Обычный, Разметка страницы, Структура и т. д. Для изменения представления используйте в качестве значения свойства одну из следующих констант: wdMasterView,wdNormalView,wdOutlineView, wdPrintView, wdWebView или wdPrintPreview. Например, инструкция ActiveWindow. View. Type = wdPrintView переключает активное окно в режим предварительного просмотра

Full screen

Контролирует отображения окна в стандартном или полноэкранном варианте

Table Gridlines

Определяет отображение сетки таблицы

ShowAll, Show

Свойство ShowAll определяет отображение всех непечатаемых знаков, что соответствует флажку Все в группе Знаки форматирования на вкладке Вид диалогового окна Параметры. Вы можете включить или отключить отображение отдельных непечатаемых символов, а также других элементов, таких как выделение текста или границы, используя различные свойства, названия которых начинаются с Show, в частности ShowBookmarks или ShowHighlight

Читайте также

Пример: использование дескриптора файла в качестве объекта синхронизации

Пример: использование дескриптора файла в качестве объекта синхронизации
Перекрывающийся ввод/вывод очень удобно и просто реализуется в тех случаях, когда может существовать только одна незавершенная операция. Тогда для целей синхронизации программа может

Понятия объекта и экземпляра объекта

Понятия объекта и экземпляра объекта
В начале этой главы мы познакомились с типами данных, определяющими саму природу данных и набор действий, которые можно выполнять с этими данными. Так, строковый тип определяет, что данные этого типа представляют собой строки —

Понятия объекта и экземпляра объекта

Понятия объекта и экземпляра объекта
В начале этой главы мы познакомились с типами данных, определяющими саму природу данных и набор действий, которые можно выполнять с этими данными. Так, строковый тип определяет, что данные этого типа представляют собой строки —

1. Объектный тип в Pascal. Понятие объекта, его описание и использование

1. Объектный тип в Pascal. Понятие объекта, его описание и использование
Исторически первым подходом в программировании являлось процедурное программирование, иначе называемое программированием снизу вверх. Вначале создавались общие библиотеки стандартных программ,

Использование объекта Command

Использование объекта Command
В ADO объект Command представляет команду, такую как инструкция SQL или сохраненная процедура, которая может применяться к источнику данных. Вы можете использовать объекты Commands для получения записей из объектов Recordset, а также выполнения таких

7.1. Синтаксис ALTER VIEW

7.1. Синтаксис ALTER VIEW
ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}][DEFINER = {user | CURRENT_USER}][SQL SECURITY {DEFINER | INVOKER}]VIEW view_name [(column_list)]AS select_statement[WITH [CASCADED | LOCAL] CHECK OPTION]Эта инструкция изменяет определение существующего view. Синтаксис для CREATE VIEW подобен этому. Эта инструкция требует привилегий CREATE VIEW и DROP для

7.3. Синтаксис DROP VIEW

7.3. Синтаксис DROP VIEW
DROP VIEW [IF EXISTS]view_name [, view_name] …[RESTRICT | CASCADE]DROP VIEW удаляет один или большее количество view. Вы должны иметь привилегию DROP для каждого view. Если любой из view, именованных в списке параметров не существует, MySQL возвращает индикацию ошибки с именем, которые не

Использование окна общего вида Aerial View

Использование окна общего вида Aerial View
Команда DSVIEWER осуществляет вызов диалогового окна Aerial View, обеспечивающего интерактивное управление экранным увеличением текущего видового экрана. Также окно Aerial View, показанное на рис. 6.5, вызывается из падающего меню View ? Aerial View. В нем

Инструмент Rotate View (Поворот холста)

Инструмент Rotate View (Поворот холста)
Данный инструмент

появившийся в Photoshop CS4, расположен на одной кнопке с Hand (Рука), но для его вызова служит своя горячая клавиша – R.Rotate View (Поворот холста) – долгожданное нововведение, предназначенное для поворота холста открытого

Использование объекта LoadVars

Использование объекта LoadVars
Существует другой способ получения данных от серверной программы — использование экземпляров объекта LoadVars. Этот объект предоставляет по сравнению с действиями loadVariable и loadVariableNum возможность несколько более строгого контроля над процессом

25. Объектный тип в Pascal Понятие объекта, его описание и использование

25. Объектный тип в Pascal
Понятие объекта, его описание и использование
Объектно-ориентированный язык программирования характеризуется тремя основными свойствами:1) инкапсуляцией. Комбинирование записей с процедурами и функциями, манипулирующими полями этих записей,

0 / 0 / 0

Регистрация: 10.05.2010

Сообщений: 10

1

10.05.2010, 15:14. Показов 29598. Ответов 17


Студворк — интернет-сервис помощи студентам

Здравствуйте! У меня есть куча документов с таблицами на 3 листа. Нужно, чтобы по нажатию кнопки всё содержимое отформатировалось(уменьшился шрифт, уменьшилась высота строк, удалились разрывы страниц и содержимое колонтитулов и т.д). Т.е. всё должно уместиться на одном листе! Все документы одинаковые. Пример документа, кидаю. Заранее благодарю!!!!



0



Busine2009

Заблокирован

10.05.2010, 16:24

2

faiza,
т.е. колонтитулы вообще не нужны и нумерация страниц тоже не нужна?



0



0 / 0 / 0

Регистрация: 10.05.2010

Сообщений: 10

10.05.2010, 16:47

 [ТС]

3

Не нужны. Главное, чтобы всё влезло на одну страницу.

Добавлено через 5 минут
Пожалуйста, помогите мне!!! Нужно в ближайшие 3 часа!!!! Я в долгу не останусь!!! Можно ещё удалить строки в таблицах с нумерацией колонок и удалить строки, где «руководитель…подпись….», оставить только после 5й таблицы!!!



0



Busine2009

Заблокирован

10.05.2010, 23:45

4

faiza,
левое поле 3 см — это для чего-то нужно (для брошюровки)? Правое 1,5 см — это тоже для чего-то нужно?
И какой Word 2003 или др.?

Добавлено через 2 часа 12 минут
faiza,
вот макрос. Затем надо будет в нескольких местах удалить двойные энтеры и в ячейках таблиц убрать энтеры, чтобы текст занимал меньше строк.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
Sub m_1()
Dim response As String
Dim oTable As Table
Dim oSec As Section
Dim oFootnote As Footnote
Dim oHeader As HeaderFooter
Dim oFooter As HeaderFooter
'Размер шрифта
    ActiveDocument.Range.Font.Size = 8
'Копия документа
    response = MsgBox("Есть копия данного документа?", vbCritical + vbYesNo, "Предупреждение")
        If response = vbNo Then
            Exit Sub
        End If
'Принять все Изменения
    ActiveDocument.AcceptAllRevisions
    
'Обычный режим
    ActiveWindow.View.Type = wdNormalView
'Шрифт
    ActiveDocument.Range.Font.Name = "Times New Roman"
'Одинарный междустрочный интервал
    ActiveDocument.Range.ParagraphFormat.Space1
'Во всём документе Основной текст (не Уровень 1, Уровень 2 и т.д.)
    ActiveDocument.Range.Paragraphs.OutlineLevel = wdOutlineLevelBodyText
'Удаляем в 2 этапа все разрывы разделов
    If ActiveDocument.Sections.Count > 1 Then
        Selection.Find.ClearFormatting
        With Selection.Find
            .Text = "^b"
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            .Execute
        End With
        Selection.MoveLeft
        Selection.TypeParagraph
        Do While Selection.Sections(1).Index <> ActiveDocument.Sections.Count - 1
            Application.Browser.Next
            Application.Browser.Next
            Selection.MoveLeft
            Selection.TypeParagraph
        Loop
        
        Selection.HomeKey unit:=wdStory
            
        With Selection.Find
            .Text = "^b"
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            While .Execute
                .Parent.Delete
            Wend
        End With
    End If
'Удаляем Разрывы страниц
    With ActiveDocument.Range.Find
        .Text = "^m"
        .Replacement.Text = "^p"
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
    End With
'Установка Параметров страниц
    For Each oSec In ActiveDocument.Sections
        With oSec.PageSetup
            .PaperSize = wdPaperA4
            .Orientation = wdOrientLandscape
            .Gutter = CentimetersToPoints(0)
            .TopMargin = CentimetersToPoints(0.8)
            .BottomMargin = CentimetersToPoints(0.8)
            .LeftMargin = CentimetersToPoints(0.8)
            .RightMargin = CentimetersToPoints(0.8)
            
            .FirstPageTray = wdPrinterDefaultBin
            .OtherPagesTray = wdPrinterDefaultBin
            .OddAndEvenPagesHeaderFooter = False
            .DifferentFirstPageHeaderFooter = False
            .HeaderDistance = CentimetersToPoints(0.1)
            .FooterDistance = CentimetersToPoints(0.1)
            .VerticalAlignment = wdAlignVerticalTop
        End With
    Next
'Удаляем Гиперссылки во Всём документе
    'в Основном документе
        Do While ActiveDocument.Hyperlinks.Count <> 0
            ActiveDocument.Hyperlinks(1).Delete
        Loop
    'в Сносках
        For Each oFootnote In ActiveDocument.footnotes
            Do While oFootnote.Range.Hyperlinks.Count <> 0
                oFootnote.Range.Hyperlinks(1).Delete
            Loop
        Next
'Удаляем колонтитулы и делаем нумерацию страниц "Продолжить"
    For Each oSec In ActiveDocument.Sections
        For Each oHeader In oSec.Headers
            oHeader.Range.Delete
        Next oHeader
        For Each oFooter In oSec.Footers
            oFooter.Range.Delete
            oFooter.PageNumbers.RestartNumberingAtSection = False
        Next oFooter
    Next oSec
'Не показываем скрытый текст, т.к. не удаётся от него избавиться с помощью макросов
    With ActiveWindow
        With .View
            .ShowTabs = True
            .ShowSpaces = True
            .ShowParagraphs = True
            .ShowHyphens = True
            .ShowHiddenText = False
            .ShowAll = False
        End With
    End With
'Переходим в Режим разметки
    ActiveWindow.View.Type = wdPrintView
'--------------------------------------------------------------------------------------------------------------------------
'Форматирование Таблиц
 
    For Each oTable In ActiveDocument.Tables
        oTable.Rows.WrapAroundText = False
        oTable.Rows.Alignment = wdAlignRowCenter
        oTable.AutoFitBehavior (wdAutoFitWindow)
        oTable.Rows.HeightRule = wdRowHeightAuto 'Убирает галочку "Высота строки"
    Next
ActiveDocument.Tables(2).Rows(3).Delete
ActiveDocument.Tables(3).Delete
ActiveDocument.Tables(3).Rows(3).Delete
ActiveDocument.Tables(4).Rows(3).Delete
ActiveDocument.Tables(5).Delete
ActiveDocument.Tables(5).Rows(3).Delete
End Sub



0



0 / 0 / 0

Регистрация: 10.05.2010

Сообщений: 10

11.05.2010, 03:51

 [ТС]

5

Спасаибо огромное!!!!!! Всё работает как надо!!!! Как я могу отблагодарить???

Добавлено через 47 минут
Можно ещё, чтобы данные в таблицах были шрифта 8 жирного, а всё остальное — 6. И отступ сверху 2 см, т.к. документ подшивается.

Добавлено через 38 минут
И ещё, чтобы номер в названии(самая первая строка) был тоже 8 шрифтом. Спасибо большое!!!!

Добавлено через 2 минуты
Word 2007. А по поводу левого и правого поля не принципиально. Не важно сколько будет отступ, лишь бы всё уместилось на одной странице.



0



Busine2009

Заблокирован

11.05.2010, 05:55

6

faiza,
из-за верхнего поля шрифт пришлось уменьшать до 7 пт:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
Sub m_1()
Dim response As String
Dim oTable As Table
Dim oSec As Section
Dim oFootnote As Footnote
Dim oHeader As HeaderFooter
Dim oFooter As HeaderFooter
'Размер шрифта
    ActiveDocument.Range.Font.Size = 7
'Копия документа
    response = MsgBox("Есть копия данного документа?", vbCritical + vbYesNo, "Предупреждение")
        If response = vbNo Then
            Exit Sub
        End If
'Принять все Изменения
    ActiveDocument.AcceptAllRevisions
    
'Обычный режим
    ActiveWindow.View.Type = wdNormalView
'Шрифт
    ActiveDocument.Range.Font.Name = "Times New Roman"
'Одинарный междустрочный интервал
    ActiveDocument.Range.ParagraphFormat.Space1
'Во всём документе Основной текст (не Уровень 1, Уровень 2 и т.д.)
    ActiveDocument.Range.Paragraphs.OutlineLevel = wdOutlineLevelBodyText
'Перевод Таблиц из висячего положения в положение, что они в тексте
    For Each oTable In ActiveDocument.Tables
        oTable.Rows.WrapAroundText = False
    Next
'Удаляем в 2 этапа все разрывы разделов
    If ActiveDocument.Sections.Count > 1 Then
        Selection.Find.ClearFormatting
        With Selection.Find
            .Text = "^b"
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            .Execute
        End With
        Selection.MoveLeft
        Selection.TypeParagraph
        Do While Selection.Sections(1).Index <> ActiveDocument.Sections.Count - 1
            Application.Browser.Next
            Application.Browser.Next
            Selection.MoveLeft
            Selection.TypeParagraph
        Loop
        
        Selection.HomeKey unit:=wdStory
            
        With Selection.Find
            .Text = "^b"
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            While .Execute
                .Parent.Delete
            Wend
        End With
    End If
'Удаляем Разрывы страниц
    With ActiveDocument.Range.Find
        .Text = "^m"
        .Replacement.Text = "^p"
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
    End With
'Установка Параметров страниц
    For Each oSec In ActiveDocument.Sections
        With oSec.PageSetup
            .PaperSize = wdPaperA4
            .Orientation = wdOrientLandscape
            .Gutter = CentimetersToPoints(0)
            .TopMargin = CentimetersToPoints(2)
            .BottomMargin = CentimetersToPoints(0.8)
            .LeftMargin = CentimetersToPoints(0.8)
            .RightMargin = CentimetersToPoints(0.8)
            
            .FirstPageTray = wdPrinterDefaultBin
            .OtherPagesTray = wdPrinterDefaultBin
            .OddAndEvenPagesHeaderFooter = False
            .DifferentFirstPageHeaderFooter = False
            .HeaderDistance = CentimetersToPoints(0.1)
            .FooterDistance = CentimetersToPoints(0.1)
            .VerticalAlignment = wdAlignVerticalTop
        End With
    Next
'Удаляем Гиперссылки во Всём документе
    'в Основном документе
        Do While ActiveDocument.Hyperlinks.Count <> 0
            ActiveDocument.Hyperlinks(1).Delete
        Loop
    'в Сносках
        For Each oFootnote In ActiveDocument.footnotes
            Do While oFootnote.Range.Hyperlinks.Count <> 0
                oFootnote.Range.Hyperlinks(1).Delete
            Loop
        Next
'Удаляем колонтитулы и делаем нумерацию страниц "Продолжить"
    For Each oSec In ActiveDocument.Sections
        For Each oHeader In oSec.Headers
            oHeader.Range.Delete
        Next oHeader
        For Each oFooter In oSec.Footers
            oFooter.Range.Delete
            oFooter.PageNumbers.RestartNumberingAtSection = False
        Next oFooter
    Next oSec
'Не показываем скрытый текст, т.к. не удаётся от него избавиться с помощью макросов
    With ActiveWindow
        With .View
            .ShowTabs = True
            .ShowSpaces = True
            .ShowParagraphs = True
            .ShowHyphens = True
            .ShowHiddenText = False
            .ShowAll = False
        End With
    End With
'Переходим в Режим разметки
    ActiveWindow.View.Type = wdPrintView
'--------------------------------------------------------------------------------------------------------------------------
'Форматирование Таблиц
 
'Форматирование всех таблиц
    For Each oTable In ActiveDocument.Tables
        oTable.Rows.WrapAroundText = False
        oTable.Rows.Alignment = wdAlignRowCenter
        oTable.AutoFitBehavior (wdAutoFitWindow)
        oTable.Rows.HeightRule = wdRowHeightAuto 'Убирает галочку "Высота строки"
    Next
ActiveDocument.Tables(2).Rows(3).Delete
ActiveDocument.Tables(3).Delete
ActiveDocument.Tables(3).Rows(3).Delete
ActiveDocument.Tables(4).Rows(3).Delete
ActiveDocument.Tables(5).Delete
ActiveDocument.Tables(5).Rows(3).Delete
ActiveDocument.Tables(5).AutoFitBehavior (wdAutoFitWindow)
'Анимируем текст во всех Таблицах
    For Each oTable In ActiveDocument.Tables
        oTable.Range.FormattedText.Font.Animation = wdAnimationMarchingRedAnts
        oTable.Range.Font.Bold = True
    Next
'Шрифт вне Таблиц 6 пт
    With ActiveDocument.Range.Find
        .Text = ""
        .Replacement.Text = ""
        .Font.Animation = wdAnimationNone
        .Replacement.Font.Size = 5
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
    End With
For Each oTable In ActiveDocument.Tables
    oTable.Range.FormattedText.Font.Animation = wdAnimationNone
Next
End Sub

По поводу отблагодарить. Если макрос действительно помог, то можешь выслать мне денег на мой кошелёк. А можешь просто отписаться, помог макрос или нет. Или скажи «Спасибо».



1



0 / 0 / 0

Регистрация: 10.05.2010

Сообщений: 10

11.05.2010, 08:42

 [ТС]

7

При выполнении выдаёт ошибку:»Отсутствует доступ к отдельным строкам, поскольку таблица имеет ячейки, объединённые по вертикали». Что делать???

Миниатюры

Форматирование таблиц в Word
 

Форматирование таблиц в Word
 



0



0 / 0 / 0

Регистрация: 10.05.2010

Сообщений: 10

11.05.2010, 08:46

 [ТС]

8

Напиши как и куда закинуть «благодарность» ))) Просто мне же за это платят, а я не сама сделала, так что эти деньги должны быть в заслуженном кошельке))))



0



0 / 0 / 0

Регистрация: 10.05.2010

Сообщений: 10

11.05.2010, 09:12

 [ТС]

9

В результате должно получиться как-то как…



0



Busine2009

Заблокирован

12.05.2010, 20:18

10

faiza,
да, я понял ошибку, получается, что файлы отличаются между собой. В этом случае надо придумать что-то другое, но я бухой сейчас, поэтому тяжело сообразить.
Раз я не смог помочь тебе, то мне не нужна благодарность.
Есть вариант — удаление строк в таблицах с нумерацией колонок вручную, т.е. вывести на панель инструментов кнопку по удалению строк таблиц. Для этого надо вставить в таблицу курсор, а затем применить макрос.

Добавлено через 23 часа 32 минуты
faiza,
вот так можно удалить скрытый текст:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Sub m_1()
'Удаляем в 2 этапа скрытый текст (просто так не получается удалить)
'Анимируем скрытй текст
With ActiveDocument.Range.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = ""
    .Replacement.Text = ""
    .Format = True
    .Font.Hidden = True
    .Replacement.Font.Animation = wdAnimationSparkleText
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    .Execute Replace:=wdReplaceAll
End With
'Удаляем Анимированный текст (он же - скрытый)
With ActiveDocument.Range.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = ""
    .Replacement.Text = ""
    .Format = True
    .Font.Animation = wdAnimationSparkleText
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    .Execute Replace:=wdReplaceAll
End With
End Sub



0



babkakoshka

1 / 1 / 0

Регистрация: 14.09.2010

Сообщений: 47

14.09.2010, 15:16

11

Цитата
Сообщение от Busine2009
Посмотреть сообщение

faiza,
из-за верхнего поля шрифт пришлось уменьшать до 7 пт:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
Sub m_1()
Dim response As String
Dim oTable As Table
Dim oSec As Section
Dim oFootnote As Footnote
Dim oHeader As HeaderFooter
Dim oFooter As HeaderFooter
'Размер шрифта
    ActiveDocument.Range.Font.Size = 7
'Копия документа
    response = MsgBox("Есть копия данного документа?", vbCritical + vbYesNo, "Предупреждение")
        If response = vbNo Then
            Exit Sub
        End If
'Принять все Изменения
    ActiveDocument.AcceptAllRevisions
    
'Обычный режим
    ActiveWindow.View.Type = wdNormalView
'Шрифт
    ActiveDocument.Range.Font.Name = "Times New Roman"
'Одинарный междустрочный интервал
    ActiveDocument.Range.ParagraphFormat.Space1
'Во всём документе Основной текст (не Уровень 1, Уровень 2 и т.д.)
    ActiveDocument.Range.Paragraphs.OutlineLevel = wdOutlineLevelBodyText
'Перевод Таблиц из висячего положения в положение, что они в тексте
    For Each oTable In ActiveDocument.Tables
        oTable.Rows.WrapAroundText = False
    Next
'Удаляем в 2 этапа все разрывы разделов
    If ActiveDocument.Sections.Count > 1 Then
        Selection.Find.ClearFormatting
        With Selection.Find
            .Text = "^b"
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            .Execute
        End With
        Selection.MoveLeft
        Selection.TypeParagraph
        Do While Selection.Sections(1).Index <> ActiveDocument.Sections.Count - 1
            Application.Browser.Next
            Application.Browser.Next
            Selection.MoveLeft
            Selection.TypeParagraph
        Loop
        
        Selection.HomeKey unit:=wdStory
            
        With Selection.Find
            .Text = "^b"
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            While .Execute
                .Parent.Delete
            Wend
        End With
    End If
'Удаляем Разрывы страниц
    With ActiveDocument.Range.Find
        .Text = "^m"
        .Replacement.Text = "^p"
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
    End With
'Установка Параметров страниц
    For Each oSec In ActiveDocument.Sections
        With oSec.PageSetup
            .PaperSize = wdPaperA4
            .Orientation = wdOrientLandscape
            .Gutter = CentimetersToPoints(0)
            .TopMargin = CentimetersToPoints(2)
            .BottomMargin = CentimetersToPoints(0.8)
            .LeftMargin = CentimetersToPoints(0.8)
            .RightMargin = CentimetersToPoints(0.8)
            
            .FirstPageTray = wdPrinterDefaultBin
            .OtherPagesTray = wdPrinterDefaultBin
            .OddAndEvenPagesHeaderFooter = False
            .DifferentFirstPageHeaderFooter = False
            .HeaderDistance = CentimetersToPoints(0.1)
            .FooterDistance = CentimetersToPoints(0.1)
            .VerticalAlignment = wdAlignVerticalTop
        End With
    Next
'Удаляем Гиперссылки во Всём документе
    'в Основном документе
        Do While ActiveDocument.Hyperlinks.Count <> 0
            ActiveDocument.Hyperlinks(1).Delete
        Loop
    'в Сносках
        For Each oFootnote In ActiveDocument.footnotes
            Do While oFootnote.Range.Hyperlinks.Count <> 0
                oFootnote.Range.Hyperlinks(1).Delete
            Loop
        Next
'Удаляем колонтитулы и делаем нумерацию страниц "Продолжить"
    For Each oSec In ActiveDocument.Sections
        For Each oHeader In oSec.Headers
            oHeader.Range.Delete
        Next oHeader
        For Each oFooter In oSec.Footers
            oFooter.Range.Delete
            oFooter.PageNumbers.RestartNumberingAtSection = False
        Next oFooter
    Next oSec
'Не показываем скрытый текст, т.к. не удаётся от него избавиться с помощью макросов
    With ActiveWindow
        With .View
            .ShowTabs = True
            .ShowSpaces = True
            .ShowParagraphs = True
            .ShowHyphens = True
            .ShowHiddenText = False
            .ShowAll = False
        End With
    End With
'Переходим в Режим разметки
    ActiveWindow.View.Type = wdPrintView
'--------------------------------------------------------------------------------------------------------------------------
'Форматирование Таблиц
 
'Форматирование всех таблиц
    For Each oTable In ActiveDocument.Tables
        oTable.Rows.WrapAroundText = False
        oTable.Rows.Alignment = wdAlignRowCenter
        oTable.AutoFitBehavior (wdAutoFitWindow)
        oTable.Rows.HeightRule = wdRowHeightAuto 'Убирает галочку "Высота строки"
    Next
ActiveDocument.Tables(2).Rows(3).Delete
ActiveDocument.Tables(3).Delete
ActiveDocument.Tables(3).Rows(3).Delete
ActiveDocument.Tables(4).Rows(3).Delete
ActiveDocument.Tables(5).Delete
ActiveDocument.Tables(5).Rows(3).Delete
ActiveDocument.Tables(5).AutoFitBehavior (wdAutoFitWindow)
'Анимируем текст во всех Таблицах
    For Each oTable In ActiveDocument.Tables
        oTable.Range.FormattedText.Font.Animation = wdAnimationMarchingRedAnts
        oTable.Range.Font.Bold = True
    Next
'Шрифт вне Таблиц 6 пт
    With ActiveDocument.Range.Find
        .Text = ""
        .Replacement.Text = ""
        .Font.Animation = wdAnimationNone
        .Replacement.Font.Size = 5
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
    End With
For Each oTable In ActiveDocument.Tables
    oTable.Range.FormattedText.Font.Animation = wdAnimationNone
Next
End Sub

По поводу отблагодарить. Если макрос действительно помог, то можешь выслать мне денег на мой кошелёк. А можешь просто отписаться, помог макрос или нет. Или скажи «Спасибо».

Добрый день. Буквально недавно столкнулась с подобной проблемой — срочно огромное количество таблиц (сделанных не очень-то качественно) необходимо было уменьшить, чтобы уместились на одной странице две таблицы на двух языках…Не думала, что можно как-то автоматически решить эту проблему…Оказывается — есть таланты!!!Спасибо Вам! С макросом еще не совсем разобралась, может, неправильно поставила в WORD. А сложно ли написать код (документ высылаю), чтобы нажатием кнопки табличка уменьшилась вдвое?

Вложения

Тип файла: zip СМЕТА 9.zip (9.0 Кб, 129 просмотров)



0



Busine2009

Заблокирован

14.09.2010, 20:35

12

babkakoshka,
т.е. смысл в чём? Есть таблица на одной странице. Надо сделать так, чтобы эта же самая таблица (таблица на первой странице во вложенном файле) была 2 раза на одной странице (вторая страница во вложенном файле)?
Если так, то мне нужны следующие данные:

  1. Поля в документе (Файл — Параметры страницы — Поля).
  2. Расстояние до колонтитулов (Файл — Параметры страницы — Источник бумаги.
  3. Название шрифта и допустимый его размер.

Ну и всё пока вроде.



1



1 / 1 / 0

Регистрация: 14.09.2010

Сообщений: 47

15.09.2010, 10:10

13

Поля могут быть уменьшены максимально, т.е. 1 или 0,5 — левое и правое,как уж получится, нижнее и верхнее поле — могут быть по 1 или 1, 5; размер бумаги — А4, колонтитулов вообще не надо. Шрифт — 7-8, Times New Roman, можна немножко уплотнить, если содержимое строки этого требует.



0



Busine2009

Заблокирован

15.09.2010, 20:12

14

babkakoshka,
Опишите, какие вы делаете действия от А до Я.
Также опишите документы, с которыми работаете: что в них содержится.

Вот код для обработки одной таблицы:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub m_1() 'обработка одной таблицы
If Selection.Information(wdWithInTable) = False Then
    MsgBox "Вставьте курсор в таблицу"
End If
With Selection.Tables(1) 'уменьшение левого и право полей в ячейках - чтобы для текста было больше места
    .LeftPadding = CentimetersToPoints(0.05)
    .RightPadding = CentimetersToPoints(0.05)
End With
With Selection.Tables(1) 'ширина таблицы 9 см
    .PreferredWidthType = wdPreferredWidthPoints
    .PreferredWidth = CentimetersToPoints(9)
End With
Selection.Tables(1).Range.Font.Size = 8 'размер шрифта 8 пт
End Sub

Вот код для обработки всех таблиц в одном документе:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub m_2() 'обработка всех таблиц в одном документе
Dim oTable As Table
Dim response As String
response = MsgBox("Обработать все таблицы?", vbCritical + vbYesNo) 'Чтобы случайно не запустить макрос
    If response = vbNo Then Exit Sub
For Each oTable In ActiveDocument.Tables
    oTable.LeftPadding = CentimetersToPoints(0.05)
    oTable.RightPadding = CentimetersToPoints(0.05)
    oTable.PreferredWidthType = wdPreferredWidthPoints
    oTable.PreferredWidth = CentimetersToPoints(9)
    oTable.Range.Font.Size = 8
Next
End Sub

Если макрос по обработке всё же запустился, а это не надо, то прервать действие макроса можно остановить Ctrl + Pause (Break).

Напишите, если каких-то команд по обработке таблиц не хватает.



1



babkakoshka

1 / 1 / 0

Регистрация: 14.09.2010

Сообщений: 47

16.09.2010, 12:48

15

Цитата
Сообщение от Busine2009
Посмотреть сообщение

babkakoshka,
Опишите, какие вы делаете действия от А до Я.
Также опишите документы, с которыми работаете: что в них содержится.

Вот код для обработки одной таблицы:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub m_1() 'обработка одной таблицы
If Selection.Information(wdWithInTable) = False Then
    MsgBox "Вставьте курсор в таблицу"
End If
With Selection.Tables(1) 'уменьшение левого и право полей в ячейках - чтобы для текста было больше места
    .LeftPadding = CentimetersToPoints(0.05)
    .RightPadding = CentimetersToPoints(0.05)
End With
With Selection.Tables(1) 'ширина таблицы 9 см
    .PreferredWidthType = wdPreferredWidthPoints
    .PreferredWidth = CentimetersToPoints(9)
End With
Selection.Tables(1).Range.Font.Size = 8 'размер шрифта 8 пт
End Sub

Вот код для обработки всех таблиц в одном документе:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub m_2() 'обработка всех таблиц в одном документе
Dim oTable As Table
Dim response As String
response = MsgBox("Обработать все таблицы?", vbCritical + vbYesNo) 'Чтобы случайно не запустить макрос
    If response = vbNo Then Exit Sub
For Each oTable In ActiveDocument.Tables
    oTable.LeftPadding = CentimetersToPoints(0.05)
    oTable.RightPadding = CentimetersToPoints(0.05)
    oTable.PreferredWidthType = wdPreferredWidthPoints
    oTable.PreferredWidth = CentimetersToPoints(9)
    oTable.Range.Font.Size = 8
Next
End Sub

Если макрос по обработке всё же запустился, а это не надо, то прервать действие макроса можно остановить Ctrl + Pause (Break).

Напишите, если каких-то команд по обработке таблиц не хватает.

Спасибо! Пока я — в диком восторге!!! А обрабатывать приходится всякие таблицы: подсчет запасов полезных ископ., каталог координат и т.п., так что сразу и не опишешь…Пока что сразу не скажу, какие еще команды нужны. Спасибо огромное!



0



Busine2009

Заблокирован

17.09.2010, 08:15

16

babkakoshka,
в этом коде была ошибка. Вот так должно быть:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub m_1() 'обработка одной таблицы
If Selection.Information(wdWithInTable) = False Then
    MsgBox "Вставьте курсор в таблицу"
    Exit Sub
End If
With Selection.Tables(1) 'уменьшение левого и право полей в ячейках - чтобы для текста было больше места
    .LeftPadding = CentimetersToPoints(0.05)
    .RightPadding = CentimetersToPoints(0.05)
End With
With Selection.Tables(1) 'ширина таблицы 9 см
    .PreferredWidthType = wdPreferredWidthPoints
    .PreferredWidth = CentimetersToPoints(9)
End With
Selection.Tables(1).Range.Font.Size = 8 'размер шрифта 8 пт
End Sub



2



1 / 1 / 0

Регистрация: 14.09.2010

Сообщений: 47

17.09.2010, 11:28

17

Насчет ошибки я еще не совсемь поняла… Но исправила код и теперь — все, как надо. И вообще, это — высший пилотаж! Я даже не подозревала, что такое существует, т.к. в основном работаю в Autocad. Спасибо Вам большое!



1



Busine2009

Заблокирован

17.09.2010, 22:16

18

babkakoshka,
там ошибка была, не влияющая на обработку таблиц. Так что ничего не было. Я обычно тестирую макросы перед вставкой их в форумы, а в этот раз забыл проверить.



1



Понравилась статья? Поделить с друзьями:
  • Vba word text font
  • Vba word text find the
  • Vba word table width
  • Vba word table merge cells
  • Vba word table merge cell