Перейти к содержимому

Как удалить серый текст в квадратных скобках

  • автор:

Цветной текст в квадратных скобках не расскрашивается при изменении ячейки

Цель — что бы слово в квадратных скобках расскаршиваль в красный цвет. Что не так в коде? Сама функция не отрабатывает на изменения в странице или ошибка в коде? Никаких ошибок нет, в тоже время ничего не раскрашивается, после того как набираю слово в скобках

Private Sub Worksheet_Change(ByVal Target As Range) Dim Text As String Dim Index1 As Long Dim Index2 As Long Text = Target.Text Index2 = 1 Do Index1 = InStr(Index2, Text, "[") If Index1 = 0 Then Exit Do Index2 = InStr(Index1, Text, "]") If Index2 = 0 Then Exit Do Target.Characters(Index1, Index2 - Index1 + 1).Font.Color = &HFF Loop End Sub 

Отслеживать
задан 26 мар 2021 в 9:25
325 1 1 серебряный знак 15 15 бронзовых знаков
VBA в книгу добавляю так — на Страницу1 — Insert Module и туда вставляю код.
26 мар 2021 в 9:27

Нормальный код, должен работать при ручном вводе строки с квадратными скобками (вручную, по одной ячейке за раз!). При обработке целого диапазона (например, вставка значений в несколько ячеек) — выдаст ошибку, свойство .Text есть у ячейки, но не у диапазона. И раскрашиваться будут только текстовые строки, а не результат функции. То есть =»Дальше красный [здесь красный] и опять черный» покрашен не будет

26 мар 2021 в 9:52

Код в модуле нужного листа? Работа макросов разрешена? Совет (к вопросу не относится): добавить диапазон срабатывания макроса (не на всем же листе надо красить символы)

26 мар 2021 в 10:13

Про excel в целом — макросы разрешены, проверил на примере другого макроса. Про сам код, проверял так — ввожу в ячейку А1 [Hello] и после перехожу на др ячейку. ничего не происходит. Я так понял, этот код — это не совсем то что мне нужно. А нужно мне: [Hello] word в одной ячейки и только внутри скобок вместе со скобками слово было красным.

26 мар 2021 в 11:27

>> ввожу в ячейку А1 [Hello] и после перехожу на др ячейку. ничего не происходит — код отрабатывает нормально, проверено. При переходе на другую ячейку срабатывает событие и если в измененной ячейке есть текст, обрамленный прямыми скобками, он будет окрашен

Удаление обычной или концевой сноски либо разделителя

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

Важно: Удалять нужно не содержимое сноски, а ее номер или знак (в основном тексте). При этом Word автоматически обновит нумерацию остальных сносок.

Удаление сноски

Вот пример сноски, которая находится внизу страницы:

Что такое сноска

Чтобы удалить обычную сноску (в нижней части страницы), удалите число 1 в тексте. После этого сноска исчезнет. Эту задачу можно выполнить и другим способом: щелкните внизу страницы сноску, которую хотите удалить, правой кнопкой мыши, выберите команду Перейти к концевой сноске и удалите ее номер.

Удаление концевой сноски

Удаление концевых сносок выполняется так же, как и для обычных.

Удаление концевой сноски из основного текста

Чтобы удалить концевую сноску, удалите символ i в основном тексте (в розовой рамке на представленном выше рисунке). Кроме того, если вы нашли концевую сноску, вы можете щелкнуть ее правой кнопкой мыши, выбрать Перейти к концевой сноске и удалить число.

Удаление всех обычных и концевых сносок из документа

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

  1. Поместите курсор в верхней части документа и откройте диалоговое окно Расширенный поиск и замена.
    • В Word 2013 или Word 2016 нажмите CTRL+H.
    • В Word 2016 для Mac, в меню Правка выберите найти >расширенныйпоиск и замена .
  2. В диалоговом окне Найти и заменить откройте вкладку Заменить.
  3. В поле Найти введите ^f для обычной или ^e для концевой сноски. Чтобы ввести эти символы, также можно нажать Больше, чтобы развернуть диалоговое окно, щелкнуть Специальный и выбрать в списке вариант Знак концевой сноски или Знак сноски. В Word 2016 для Mac щелкните стрелку в нижней части диалогового окна Поиск и замена, чтобы отобразить все параметры.
  4. Убедитесь, что поле Заменить на пустое, а затем нажмите кнопку Заменить все.

Удаление или изменение разделителя обычной или концевой сноски

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

  1. Откройте вкладку Вид и в группе Представления выберите вариант Черновик.
  2. Дважды щелкните любую обычную или концевую сноску в основном тексте. Внизу документа появится область Сноски.
  3. Вы можете изменить цвет или стиль разметки, выбрав параметры на вкладке Главная. Чтобы удалить их, в списке Сноски выберите в списке Сноски кнопку «Сноска», а затем выберите и удалите линию. С помощью вкладки Вид вернитесь в режим чтения, разметки или веб-документа.

Замена текста в скобках на пробел

Помогите, как заменить в Word 2003 много различных предложений, которые находятся внутри скобок, на пробел? Например: а- (перед гласными ан-; греч. a-, an-); или Аарона симптом (Ch. D. Aaron, 1866—1951, амер. врач). Вот то, что внути скобок и надо заменить на пробел.

Такую задачу можно решить вручную с использованием диалогового окна «Найти и заменить», либо посредством макроса (код ниже).

Чтобы заменить текст в скобках на пробелы через диалоговое окно «Найти и заменить», откройте это окно («Ctrl+H»).

В поле Найти введите такое выражение: \(*\) ,

а в поле Заменить: ( ) .

Затем установите флажок на опции «Подстановочные знаки» и нажмите кнопку Заменить все .

Кроме того, можете воспользоваться следующим макросом:

Sub delTextBetweenBrackets() 'заменяем текст в скобках на пробел в скобках With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text = "\(*\)" .Replacement.Text = "( )" .Forward = True .Wrap = wdFindContinue .MatchWildcards = True .Execute Replace:=wdReplaceAll End With End Sub

Еще записи по вопросам использования Microsoft Word:

  • 10 вопросов и ответов по редактору Word (1 часть)
  • 3 способа очистки списка недавно открытых документов
  • Word 2007: добавляем свою вкладку и свои команды
  • Word 2007: полотно, рисунки, линии
  • Word 2007: смена формата сохранения файла
  • Word 97 — решение проблемы с отображением символов на линейке
  • Word 97. Слияние документов как один из способов упростить свою работу
  • Абзац с цветным фоном
  • Автозаполняемые колонтитулы
  • Автоматизация текстового набора в Word
  • Автоматическая запись макроса
  • Автоматическая нумерация билетов
  • Автоматическая расстановка переносов
  • Автоматическое обновление полей при открытии документа
  • Автоматическое сохранение документа при его закрытии
  • Автотекст с последовательной нумерацией
  • Автоформат документов
  • Белый текст на синем фоне в Word 2007
  • Буквица
  • Быстрая смена ориентации страниц документа
  • Быстрое изменение стиля форматирования текста
  • Быстрое перемещение между открытыми документами Word
  • Быстрое создание нового документа на основе шаблона
  • Быстрое удаление границ у таблицы
  • Быстрый ввод текста с помощью команды =rand()

JavaScript | Как удалить скобки и всё что внутри скобок в строке?

Нам нужно удалить часть строки, которая находится внутри круглых скобок вместе со скобками. Как это сделать?

Решение

Нам поможет регулярное выражение. Мы сейчас его напишем.

Определяем регулярное выражение:

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

Мы ищем «начальный» символ круглой скобки в строке ( . Тут проблема в том, что круглые скобки в регулярных выражениях являются служебными символами Если мы не хотим использовать их «служебно», то нам нужно экранировать круглую скобку, чтобы она была воспринята регулярным выражением как символ какой-то строки.

Экранируем символ строки — круглую скобку из строки (

\(

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

Ещё мы ищем «конечный» символ круглой скобки в строке ) . Его тоже нужно экранировать подобным образом:

\)

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

.+

Точка . означает один какой-то символ, а квантификатор + означает, что таких точек (символов) может быть от 1 до бесконечности. Регулярное выражение само решит сколько символов упрётся в конечную скобку.

Соберём всю конструкцию:

/\(.+\)/

Создадим переменную телевизора и поместим в неё результат замены строки нашим регулярным выражением:

var tel = stroka.replace(/\(.+\)/,'')

Удалили круглые скобки из строки и их содержимое - JavaScript

Мы успешно удалили содержимое внутри круглых скобок, но в ответе получили строку с двумя пробелами подряд. Для решения этой проблемы можно дописать одну точку в наше выражение:

var tel = stroka.replace(/.\(.+\)/,'')

Дописали точку перед первой круглой скобкой

var tel = stroka.replace(/\(.+\)./,'')

Дописали точку после второй круглой скобки

Информационные ссылки

Стандарт ECMAScript — Раздел «22.2.2.3 Disjunction» — https://tc39.es/ecma262/#sec-disjunction

Вам также может понравиться

ECMAScript | Блок данных | Тип спецификации

Опубликовано 15.09.2021

ECMAScript | Блок данных | Тип спецификации

Тип спецификации Блока Данных (Data Block) используется для описания отдельной и изменяемой последовательности числовых значений байтового (8-битного) размера. Байтовое значение (byte value) […]

Создание функции3 через конструктор - JavaScript

Опубликовано 10.05.2021

JavaScript | Функции (Function)

Функции в JavaScript — это маленькие программки, которые выполняют разные специфичные задачи. Что нужно знать про функции? Условно все функции можно […]

Длины массивов не совпадают - значит есть дырка - JavaScript

Опубликовано 06.03.2021

JavaScript | Как проверить «дырку» в массиве?

Как узнать, есть ли неопределённые элементы в массиве? У нас есть массив: var massiv = [1,,2,3] Мы видим, что значения элемента […]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *