В сегодняшней статье мы собираемся предоставить вам способ пакетного изменения нескольких имен закладок в вашем документе Word.
Немного сложно изменить имя закладки в документе Word. И в одной из наших предыдущих статей мы объяснили вам способы. Для получения подробной информации вы можете обратиться по этой ссылке: 2 правильных способа изменить имя закладки в документе Word
На этот раз мы хотим предложить вам способ пакетного изменения нескольких имен закладок в вашем документе.
Пакетное изменение нескольких имен закладок через VBA
- Первый и первыйost, вставьте таблицу с двумя столбцами и несколькими строками в конце tarполучить документ. В таблице введите исходные названия закладок в первый столбец. А во второй введите новые имена. Также убедитесь, что вы поместили курсор внутри таблицы. Вот пример:
- Затем вызовите редактор VBA в Word, нажав «Alt + F11».
- Далее в редакторе нажмите «Обычный» в левой колонке.
- И в строке меню выше нажмите вкладку «Вставить».
- В раскрывающемся меню «Вставка» выберите «Модуль».
- Дважды щелкните новый модуль, чтобы открыть его, а затем вставьте следующие коды в область кодирования:
Sub BatchChangeTheBookMarkNameAndUpdateCrossReference() Dim nCurrentTableIndex As Integer Dim objTable As Table Dim nRowNumber As Integer Dim objOriBookMarkList As Cell Dim objOriBookMarkListR As Range Dim objNewBookMarkListR As Range Dim strBookMarkName As String Dim strNewName As String Dim objBookMarkRange As Range Dim obj Поле как поле Dim strFieldCode как строка nCurrentTableIndex = ActiveDocument.Range(0, Selection.Tables(1).Range.End).Tables.Count Set objTable = ActiveDocument.Tables(nCurrentTableIndex) nRowNumber = 1 Для каждого списка objOriBookMarkList в objTable.Columns(1).Cells Set objOriBookMarkListR = objOriBookMarkList. Диапазон objOriBookMarkListR.MoveEnd Unit:=wdCharacter, Count:=-1 Set objNewBookMarkListR = objTable.Cell(nRowNumber, 2).Range objNewBookMarkListR.MoveEnd Unit:=wdCharacter, Count:=-1 If objOriBookMarkListR.Text <> "" Then strBookMarkName = objOriBookMarkListR.Text strNewName = objNewBookMarkListR.Text End If With ActiveDocument If .Bookmarks.Exists(strBookMarkName) Then Set objBookMarkRange = .Bookmarks(strBookMarkName).Range .Bookmarks(strBookMarkName).Delete .Bookmarks.Add Name:=strNewName, Range: =objBookMarkRange ' Обновить перекрестную ссылку. Если .Fields.Count >= 1, то для каждого поля objField в .Fields strFieldCode = objField.Code.Text, если strFieldCode = "REF" & strBookMarkName & "\h", то objField.Code.Text = Replace(strFieldCode, strBookMarkName, strNewName, , 1, vbTextCompare) objField.Update End If Next objField End If Else MsgBox ("Закладка: " & strBookMarkName & " не основана.") End If End With Set objBookMarkRange = Nothing nRowNumber = nRowNumber + 1 Next MsgBox («Все закладки в списке таблиц были переименованы».) End Sub
- И последнее, но не менее важное: нажмите «Выполнить» или нажмите «F5», чтобы выполнить коды.
Когда процесс будет завершен, появится окно сообщения, например, ниже:
Вы также можете щелкнуть вкладку «Вставить», а затем «Закладка», чтобы вызвать диалоговое окно «Закладка». Теперь вы можете видеть, что имена закладок были изменены.
Работа с ошибками в словах
Поскольку Word не застрахован от ошибок, необходимо предпринять правильные действия, когда Коррупция слова бывает. Мost время вы можете восстановить данные, выбрав опытный инструмент восстановления.
Об авторе:
Вера Чен — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая исправить Excel и pdf ремонт программных продуктов. Для получения дополнительной информации посетите www.datanumen.com
Оставьте комментарий