Скрийте част от текст в Word чрез VBA, блог на още един разработчик

За да скриете част от текста в Word, без да го изтривате, можете да отидете по два начина.

1. Може да се използва специално свойство на шрифта, наречено Hidden. За да активирате тази опция, просто изберете текста, отворете свойствата на шрифта и поставете отметка в съответното поле:

VBA кодът, който ви позволява да скриете текст по този начин, е по-долу: Selection.Range.Font.H >

Dim oShape като Word.Shape Dim iLeft, iTop, iWidth, iHeight като цяло число

iLeft = 1 iTop = 1 iW > iВисочина = 20

Set oShape = ActiveDocument.Shapes.AddTextbox( _ msoTextOrientationHorizontal, iLeft, iTop, iWidth, iHeight)

С oShape .Line.Visible = False .Fill.Visible = False .TextFrame.TextRange.ParagraphFormat.Alignment = wdAlignParagraphCenter .WrapFormat.Type = wdWrapInline .TextFrame.TextRange.Text = "Hello, World" Край с

Обектът Shape има свойство Visible. Като го зададем на желаната стойност, можем да покажем или скрием този формуляр:

Sub Hide() Dim oShape като Word.Shape Set oShape = ActiveDocument.Shapes(1) oShape.Visible = msoFalse End Sub

Sub Show() Dim oShape като Word.Shape Set oShape = ActiveDocument.Shapes(1) oShape.Visible = msoTrue End Sub

За да поставим формуляра на мястото, от което се нуждаем, а не само в началото на документа, трябва да променим реда с добавяне на формуляра към документа. Последният параметър на метода Shapes.AddTextbox не е задължителен и може да бъде пропуснат. Този параметър се нарича Anchor и ви позволява да обвържете формата с текста, в който трябва да лежи. Нека го предадем, например, част от документа в горната лява клетка на първата таблица:

Задайте oShape = ActiveDocument.Shapes.AddTextbox( _ msoTextOrientationHorizontal, iLeft, iTop, iWidth, iHeight, _ ActiveDocument.Tables(1).Cell(1, 1).Range)

текст

Формата с текста се намира в горната лява клетка на таблицата

По този начин можем да променим стойността на свойството Visible, без да знаем къде всъщност се намира нашата форма. Това е много удобно, например, за някои печати, разположени в горните и долните колонтитули.