Доброе время суток. В VBA не особо разбираюсь. Если задаю какой-то глупый вопрос, то извиняюсь.
Пытался написать макрос, который бы копировал значения из выделенной области Excel в Word. После вставки в документе Word необходимо, чтоб интервал в Word до и после устанавливался 0 пт, и вставленные данные выравнивались по ширине окна, с выравниванием в ячейке по средине.
Вот, что у меня вышло:
Скрытый текст |
---|
Код |
---|
Sub copy()
Dim wdApp As New Word.Application
Dim wdDoc As Word.Document
wdApp.Visible = True
Set wdDoc = wdApp.Documents.Add
wdDoc.PageSetup.Orientation = wdOrientPortrait
With wdDoc.Paragraphs.Format
.RightIndent = CentimetersToPoints(0)
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 0
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceSingle
.Alignment = wdAlignParagraphLeft
.WidowControl = True
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.Hyphenation = True
.FirstLineIndent = CentimetersToPoints(0)
.OutlineLevel = wdOutlineLevelBodyText
.CharacterUnitLeftIndent = 0
.CharacterUnitRightIndent = 0
.CharacterUnitFirstLineIndent = 0
.LineUnitBefore = 0
.LineUnitAfter = 0
.MirrorIndents = False
.TextboxTightWrap = wdTightNone
End With
Application.Selection.copy
Call wdDoc.Range.Paste
With wdDoc.Tables(1)
.AutoFitBehavior (wdAutoFitWindow)
.AutoFitBehavior (wdAutoFitWindow)
.Rows.HeightRule = wdRowHeightAtLeast
.Rows.Height = CentimetersToPoints(0.4)
.Cells.VerticalAlignment = wdCellAlignVerticalCenter
End With
Application.CutCopyMode = False
wdApp.Activate
End Sub |
|
Не понятно, почему не устанавливаться параметры абзаца и почему не хочет работать wdDoc.Tables(1).Cells.VerticalAlignment = wdCellAlignVerticalCenter
Буду признателен за помощь.
З.Ы. По форуму искал, надстройку ZVI, видел. Но необходим именно макрос, так, как не я один файлом буду пользоваться.