Ваш постачальник був придбаний, і «ACME Corp» тепер «Globex Ltd» у кожному контракті, графіку, бюджеті та презентації, які його згадують. За допомогою локально запущеного сервера GroupDocs.Editor MCP, Claude Desktop, Cursor або Copilot виконують це пакетно: для кожного файлу в папці викликається replace_text, зберігається форматування, повідомляється, скільки входжень змінено, і нічого не записується для файлів, у яких старе ім’я не згадувалося. Нічого не завантажується і жоден оригінал не перезаписується:
Перейменувати ACME Corp у Globex Ltd у всіх документах у папці contracts, зберегти форматування та надати підрахунок для кожного файлу.
Крок‑за‑кроком версія описана в документації: Як знайти та замінити текст у всій папці документів, не порушуючи форматування.
Чому це завдання для інструменту, а не для моделі?
Тому що результат має бути перевіряним. Сорок документів — занадто багато, щоб порівнювати їх візуально, а модель, яка «оновила всі контракти», не дає нічого, проти чого можна перевіряти. Інструмент пошуку‑заміни дає число для кожного файлу. Ці числа — аудиторський слід: ви знаєте, які файли змінилися, на скільки, і які не потребували змін.
Також це має бути «нудно» у правильному сенсі. Назва компанії, виділена жирним, залишається жирною, таблиця тарифів зберігає свою сітку, заголовки зберігають свої стилі. Модель ніколи не переписує документ: движок відкриває його, замінює слова і записує копію. Одна особливість сервера 26.10.0: ця копія записується з HTML‑моделі редагування, і нижній колонтитул Word не проходить через неї. Контракт, у якому постачальник згадується у нижньому колонтитулі, потребує HTML‑циклу з пагінацією; FAQ перераховує, що зберігає Word‑документ.
Що бачить агент
Знято з GroupDocs.Editor.Mcp 26.10.0 на невеликому синтетичному наборі: угода про надання послуг, NDA, лист‑вітання, тристорінковий бюджет і трислайдна презентація.
-> replace_text {"file":{"filePath":"contracts/msa-northwind.docx"},
"find":"ACME Corp","replace":"Globex Ltd","wholeWord":true}
<- Replaced 6 occurrence(s) of 'ACME Corp' in 'msa-northwind.docx'
Saved to: …/msa-northwind_edited.docx
-> replace_text {"file":{"filePath":"contracts/nda-northwind.docx"}, ...}
<- Replaced 1 occurrence(s) of 'ACME Corp' in 'nda-northwind.docx'
-> replace_text {"file":{"filePath":"contracts/welcome-letter.docx"}, ...}
<- Text replacement found no matches for 'ACME Corp' in
'welcome-letter.docx'. No file was written.
-> replace_text {"file":{"filePath":"budget.xlsx"}, ..., "worksheet":1}
<- Replaced 1 occurrence(s) of 'ACME Corp' in worksheet 1 of 3 of
'budget.xlsx'
-> replace_text {"file":{"filePath":"review.pptx"}, ..., "slide":1}
<- Replaced 1 occurrence(s) of 'ACME Corp' in slide 1 of 3 of
'review.pptx'
Звіт агента пишеться сам: шість у угоді, одне у NDA, жодного у листі‑вітанні, одне у підсумковому бюджеті, одне у першому слайді.
Цикл
contracts/ + budget.xlsx + review.pptx
|
+-- for each file:
| replace_text {"find":"ACME Corp","replace":"Globex Ltd",
| "wholeWord":true} (+ "worksheet"/"slide")
| -> "Replaced N occurrence(s) ..." -> <name>_edited.<ext>
| -> "found no matches ... No file was written."
|
'-- report: file -> count; files with 0 listed separately
Дві звички роблять цикл надійним. Використовуйте wholeWord: true для імен, щоб «ACME Corp» не збігалося всередині «ACME Corporation Holdings». І попросіть агента перелічити файли з нульовими збігами, бо нуль у файлі, який ви очікували змінити, — це саме те, що варто перевірити вдруге.
Перевірка пакету перед заміною
Відредаговані копії розташовуються поруч з оригіналами, доки ви не вирішите інакше, і саме в цей момент їх слід перевірити. Три недорогі перевірки ловлять майже всі проблеми. Порівняйте підрахунок для кожного файлу з очікуваним: угода, у якій постачальник згадується на кожній сторінці, не повинна повідомляти лише один випадок. Не покладайтеся на повторний запуск тієї ж заміни: фраза, розбита між різними форматуваннями, пропуститься і під час другого запуску, і «found no matches» виглядатиме як «все чисто». Попросіть агента виконати extract_html для кожної відредагованої копії; її попередній перегляд у вигляді простого тексту об’єднує фрагменти форматування, тому залишок «ACME Corp» з’явиться там. Варіанти написання («Acme Corp.» з крапкою, «ACME Corporation») вимагають окремого проходу з matchCase: false або регулярним виразом. І відкрийте по одній відредагованій копії кожного типу — контракт, електронну таблицю та презентацію — щоб підтвердити, що форматування і нижній колонтитул збереглися. Лише після цього перемістіть файли _edited на місце оригіналів або дозвольте вашій системі документів їх версіонувати.
Шаблони, регістр і формат в одному виклику
Перейменування — найпоширеніший випадок, але той самий інструмент охоплює інші завдання сімейства «зробити формулювання послідовним». У тому ж тестовому запуску:
-> replace_text {"file":{"filePath":"contracts/nda-northwind.docx"},
"find":"v2\\.3\\b","replace":"v2.4","regex":true,
"outputName":"nda-northwind-v2.4.docx"}
<- Replaced 1 occurrence(s) of 'v2\.3\b' in 'nda-northwind.docx'
-> replace_text {"file":{"filePath":"contracts/nda-northwind.docx"},
"find":"acme corp","replace":"Globex Ltd","matchCase":false,
"format":"pdf"}
<- Replaced 1 occurrence(s) of 'acme corp' in 'nda-northwind.docx'
Saved to: …/nda-northwind_edited.pdf
regex: true приймає .NET‑регулярний вираз, що дозволяє підняти версію або змінити формат дати у всій папці. matchCase: false ловить невідповідний регістр. format: "pdf" редагує і конвертує в один крок, створюючи копію, яка йде на інший бік.
Відступ для агентів‑програмістів
Той самий шаблон працює в репозиторії. Примітки до випуску у DOCX та специфікації у XLSX невидимі для sed; Claude Code з цим сервером може підняти рядок версії в обох як частину завдання випуску. Додайте правило до інструкцій проєкту, щоб агент використовував інструмент, а не намагався розпаковувати Office‑файли вручну:
To change wording in .docx/.xlsx/.pptx/.pdf files in this repo, use the
groupdocs-editor MCP server's replace_text (wholeWord for names, regex for
versions). Report the count per file. Never rewrite an Office file by hand.
Чесні обмеження
- Збіги відбуваються лише в межах одного фрагмента форматування. У нашій угоді сьоме «ACME Corp», де «ACME» було курсивом, не було замінено, і це показало підрахунок у шість. Фрази, розбиті між стилями, потребують HTML‑циклу.
- Кожен результат зберігається в корені вихідної папки як
<name>_edited.<ext>, навіть якщо оригінал був у підпапці. Жоден файл не перезаписується: якщо ім’я вже зайняте, додається номер (msa-northwind_edited (1).docx), тому вказуйтеoutputName, коли можливі колізії. - На сервері 26.10.0 відредагована копія Word‑документа втрачає нижній колонтитул, а елементи управління вмістом сплющуються до простого тексту. Перевіряйте документи, у яких старе ім’я знаходиться в нижньому колонтитулі.
- Електронні таблиці та презентації редагуються по одному листу або слайду за виклик. У режимі оцінки можна редагувати лише перші два, і сервер повідомляє про це: «Evaluation mode edits only the first 2 slides of a presentation; slide 3 is beyond them.»
- Режим оцінки також додає банерний рядок до кожного вихідного файлу, а PDF довший за дві сторінки відхиляється.
FAQ
Чи може він замінити текст у Word, Excel та PowerPoint в одному пакеті?
Так. Агент викликає той самий інструмент для кожного файлу і додає worksheet або slide для електронних таблиць і презентацій.
Як дізнатися, які файли були змінені?
Кожен виклик повертає підрахунок, а файли без збігів взагалі не записуються. Попросіть агента надати таблицю по файлах.
Чи будуть оригінали перезаписані?
Ні. Кожне редагування створює новий файл; оригінали залишаються незмінними, доки ви самі їх не заміните.
Поглибити
- Документація, канонічний посібник: Як знайти та замінити текст у всій папці документів, не порушуючи форматування
- Центр документації: GroupDocs.Editor MCP Server
- GroupDocs.Editor MCP product page — встановлення в один клік для VS Code і Cursor, конфігурації для будь‑якого іншого клієнта
- Почніть тут: Чому AI‑агент не повинен переписувати ваш документ, щоб змінити три слова
- Пов’язано: Заповнення Word‑форм зі електронної таблиці за допомогою AI‑агента, локально
- Пов’язано: Редагування одного листа, збереження книги: хірургічні правки з HTML‑циклом
- Пов’язано: Редагування PDF за допомогою AI‑агента? Спочатку конвертуйте у Word, локально
- On‑premise та модель безпеки: 3 архітектури для AI‑обробки документів, і та, що тримає файли всередині вашої мережі
- Питання: GroupDocs Editor forum
- Джерело: GroupDocs.Editor.Mcp on GitHub · NuGet package