X-ing Out Text (Microsoft Word)
Синди спросила, есть ли способ «набрать» слова с другим символом. В частности, она хотела убрать «х» из некоторых персонажей. Она не хочет зачеркивать, но на самом деле использует символ «x» для ввода символов, уже имеющихся в документе.
Лучший способ сделать это в Word — использовать поле EQ с переключателем \ o (overtype). Выполните следующие действия:
-
Поместите указатель вставки в то место, где вы хотите, чтобы текст был удален.
-
Нажмите Ctrl + F9. Word вставляет набор фигурных скобок с точкой вставки посередине.
-
В скобках поля введите следующее:
eq \o(my text,xxxxxxx)
-
Замените «мой текст» на текст, который вы хотите вырезать, и убедитесь, что имеется достаточно x символов, чтобы покрыть этот текст.
-
Нажмите Shift + F9, чтобы свернуть поле и отобразить результат.
Этот полевой подход отлично подходит для выделения короткого текста, и вы всегда можете преобразовать его в макрос, если у вас есть много текста, на который вы хотите воздействовать таким образом. Следующий макрос поддерживает эту концепцию еще дальше — он отображает символы overtype x красным цветом и не перепечатывает пробелы:
Sub OverstrikeWithX2() Dim i As Integer MyString = Selection.Text ' Insertion point only/single character/multiple character range handler If Selection.Characters.Count = 1 Then Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend If Selection.Characters.Count = 2 Then Selection.MoveLeft Unit:=wdCharacter, Count:=2, Extend:=wdExtend Else Selection.MoveLeft Unit:=wdCharacter, Count:=1 End If Else Selection.MoveLeft Unit:=wdCharacter, Count:=1 End If ' end range handler For i = 1 To Len(MyString) Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend ' paragraph marker and space handler If Selection.Text = Chr(13) Or Selection.Text = " " Then While Selection.Text = Chr(13) Or Selection.Text = " " If i = Len(MyString) Then Selection.MoveRight Unit:=wdCharacter, Count:=1 Exit Sub Else i = i + 1 Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=1, _ Extend:=wdExtend End If Wend End If ' end paragraph marker & space handler With Selection .Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _ PreserveFormatting:=False .TypeText Text:="eq \o(" .MoveRight Unit:=wdCharacter, Count:=1 .TypeText Text:=",x)" .Delete Unit:=wdCharacter, Count:=1 ' The next three lines turns the overstike "x" red .MoveLeft Unit:=wdCharacter, Count:=1 .MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend .Font.Color = wdColorRed .Fields.ToggleShowCodes .MoveRight Unit:=wdCharacter, Count:=1 End With Next i End Sub
Макрос добавляет одно поле для каждого набираемого символа и поэтому подходит для текста практически любой длины.
Есть также совершенно другой подход, который вы можете попробовать, на этот раз с использованием текстовых полей. Создайте текстовое поле с помощью панели инструментов Рисование.
Внутри текстового поля введите необходимое количество символов x с желаемым шрифтом и размером. Убедитесь, что текстовое поле отформатировано так, что оно не имеет заливки (что делает его прозрачным), не имеет окружающих линий и плавает над текстом без обтекания текстом. Перетащите текстовое поле на текст, который нужно вырезать, и при необходимости измените размер.
_Примечание: _
Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (3921) применим к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:
link: / wordribbon-X-ing_Out_Text [X-ing Out Text]
.