お知らせ・ブログ一覧へ戻る

Keynoteの資料でサービス名を全ページ一括置換する方法|書式を保ったまま数秒で終える手順と、数字だけの置換がページ番号まで書き換える落とし穴


Keynoteの資料でサービス名を全ページ一括置換する方法|書式を保ったまま数秒で終える手順と、数字だけの置換がページ番号まで書き換える落とし穴

Keynoteの資料でサービス名を全ページ一括置換する方法|書式を保ったまま数秒で終える手順と、数字だけの置換がページ番号まで書き換える落とし穴

サービス名や社名が変わったとき、営業資料・説明資料のKeynoteファイルを1枚ずつ開いて打ち直すのは時間がかかるうえ、直し漏れも出ます。

結論から書きます。1つのファイルで1つの語句を置き換えるだけなら、Keynote標準の「検索と置換」で「すべて置き換え」を押せば全スライドまとめて終わります。 複数の語句をまとめて直したい、複数のファイルに同じ置換をかけたい、何をどこで置き換えたか記録を残したい、という場合はAppleScriptで置換するのが速く、テキスト枠の書式もそのまま残せます。

どちらの方法でも、気をつける点は同じです。

  • 数字は単独で置換しない。「19」を「24」にすると、19ページ目のページ番号まで「24」に変わることがあります。「19店舗」のように単位や助数詞まで含めて指定します
  • 置換する前に、新しい数字が今も正しいかを確かめる。名称と違って数字は資料ごとに意味が違うことがあり、一括で揃えると事実と合わない資料になります
  • 置換した後に、旧名称が0件になったかを機械的に確かめる。目で見て確認するより確実です

この記事では、26ページの説明資料でサービス名の変更を数秒で反映したときの手順をもとに、方法の選び方と確認の順番を整理します。Keynoteの機能についてはAppleの公式ガイドを2026年9月23日時点で確認した内容です。

方法は2つ。まず標準の「検索と置換」で足りるかを判断する

やりたいこと 向いている方法
1ファイルで1〜2個の語句を置き換える 標準の「検索と置換」
旧名称・旧社名・旧URLなど複数の語句を一度に置き換える AppleScript
同じ置換を複数のKeynoteファイルにかける AppleScript
どのスライドで何を置き換えたか記録を残したい AppleScript
置換の条件を細かく決めたい(特定の文字列だけ・特定のスライドだけ) AppleScript

HTMLやPowerPointで資料を作り直す方法もありますが、レイアウトを一から組み直すことになるので、名称の変更だけなら既存のKeynoteファイルを直接置き換えた方が圧倒的に速く、見た目も変わりません。

標準の「検索と置換」で全スライドを置き換える手順

Appleの公式ガイド「MacのKeynoteでテキストを検索して置き換える」に沿った手順です。

  1. Keynoteでファイルを開き、Command+Fで「検索と置換」を表示します
  2. 上のフィールドの左にあるポップアップメニューから「検索と置換」を選びます
  3. 上のフィールドに旧名称、下のフィールドに新名称を入力します
  4. 必要に応じて「完全一致」「大文字/小文字を区別」を選びます
  5. 「すべて置き換え」をクリックします

公式ガイドでは、スキップしたスライドや発表者ノートも含めてすべての内容が検索の対象とされています。本番で使わないスライドに旧名称が残っていた、という直し漏れを防げます。

公式ガイドに書かれている注意点も押さえておきます。

  • 下のフィールドを空のまま置き換えると、見つかったテキストがすべて削除されます。 新名称を入れ忘れたまま「すべて置き換え」を押さないようにします
  • 表のセルの値を置き換えると、表示されている値と背後の値の両方が更新されます
  • 数式が入っている表のセルは置き換えられません。 数式の結果として名称や数字を出しているセルは、手で直す必要があります

英語のサービス名なら「大文字/小文字を区別」を選ぶと、文中の一般的な単語まで置き換える事故を減らせます。

複数の語句・複数ファイルならAppleScriptで置換する

旧名称の表記ゆれが複数ある場合(英字表記・カタカナ表記・略称など)や、同じ変更を何本もの資料にかけたい場合は、AppleScriptで置換するのが速い方法です。

26ページある説明資料で、旧サービス名を新しいサービス名にまとめて置き換えたときは、スクリプトの実行は数秒で終わり、フォント・文字サイズ・文字色もそのまま残りました。 仕組みは単純で、スライドごとにテキスト枠の文字を読み出し、文字列を置き換えて書き戻すだけです。

on replaceText(theText, searchStr, replaceStr)
  set AppleScript's text item delimiters to searchStr
  set parts to text items of theText
  set AppleScript's text item delimiters to replaceStr
  set newText to parts as string
  set AppleScript's text item delimiters to ""
  return newText
end replaceText

tell application "Keynote"
  repeat with s in slides of document 1
    repeat with t in text items of s
      set txt to (object text of t) as string
      set newTxt to my replaceText(txt, "旧サービス名", "新サービス名")
      if newTxt is not txt then
        set object text of t to newTxt
      end if
    end repeat
  end repeat
end tell

実装するときの要点は次の3つです。

  • 置換用の関数(handler)は tell application "Keynote" のブロックの外に書きます。 ブロックの中に書くと構文エラーになります。呼び出すときは my replaceText(...) と my を付けます
  • 文字列の置換は、AppleScriptの text item delimiters(区切り文字)を使って自作します。上の replaceText がその型です
  • 書き戻すのは、中身が変わったテキスト枠だけにします。 変わっていない枠まで書き戻すと、意図しない書式の変化が起きる可能性があるためです

書式が保たれるのは、1つのテキスト枠の中で書式が揃っている場合です。枠の中で一部の文字だけ色や太さを変えているような箇所は、文字を丸ごと書き戻すと部分的な書式が失われる可能性があります。そうした枠は置換後に目で確認するか、標準の「検索と置換」で直します。

また、スライド直下のテキスト枠を順に見る書き方なので、表の中の文字・グループ化した図形の中の文字・発表者ノートは、このスクリプトでは対象外になる可能性があります。スクリプトで大半を置き換えたあと、残りを標準の「検索と置換」で拾う、という2段構えにすると漏れがありません。

落とし穴1:数字だけを置換するとページ番号まで書き換わる

名称と一緒に、資料の中の数字も新しくしたいことがあります。たとえば「19店舗」を「24店舗」に揃えたい場合です。

ここで「中身がちょうど19のテキスト枠を24にする」という条件で置換すると、19ページ目のフッターにあるページ番号「19」まで「24」に変わります。 Keynoteの自動のスライド番号ではなく、ページ番号を普通のテキスト枠として置いている資料では、ページ番号の枠の中身は数字だけです。数字だけの一致条件は、そこにそのまま当たります。

標準の「検索と置換」で「19」を探す場合も同じで、ページ番号のほか「2019年」「19時」「0.19」など、関係のない数字にまで一致します。

防ぎ方は次のとおりです。

  • 数字は単位や助数詞まで含めて指定する。 「19」ではなく「19店舗」「19店」と書いて置換します
  • 単独の数字で一致させる置換は、原則として使わない
  • どうしても数字だけで置換する場合は、どのスライドのどの枠を置き換えたかをログに出して、1件ずつ確認する。AppleScriptなら置換のたびにスライド番号と置換前後の文字を記録できます

「すべて置き換え」は一瞬で終わるぶん、間違った置換も一瞬で全ページに広がります。数字を扱うときだけは、件数と場所を確かめてから実行するのが安全です。

落とし穴2:置換する前に、その数字が今も正しいかを確かめる

名称の置換は「古い名前を新しい名前に」で済みますが、数字は事情が違います。

店舗数を例にすると、同じ「店舗数」でも、資料によって数えているものが違うことがあります。実際に、ある集計では稼働店舗が19店舗、別の管理画面に登録されている店舗は24店舗、という食い違いがありました。数えている対象(その機能を使っている店か、登録されている店か)が違うためです。ここで「新しい方が正しいだろう」と一括で24店舗に揃えると、19店舗の実績を説明しているページまで24店舗と書いた、事実と合わない資料になります。

置換する前に、次の順で確かめます。

  1. その数字が何を数えた数字かを、ページごとに確認する
  2. 新しい数字を、記憶やメモではなく元のデータ(管理画面や集計表)から取り直す
  3. 数えている対象がページごとに違うなら、一括置換はせず、ページごとに手で直す

数が頻繁に変わる箇所は、そもそも資料に数字を書かない選択肢もあります。「各店で」「全店で」のように書いておけば、店舗数が増えるたびに資料を直す必要がなくなり、古い数字が残るリスクもなくなります。

置換した後に確かめる3点

置換を実行したら、次の3点を確かめてから資料を配ります。

  1. 旧名称が0件になったか。 Command+Fで旧名称を検索し、一致が無いことを確かめます。AppleScriptを使った場合は、全スライドのテキストを書き出して旧名称の件数を数えると確実です
  2. ページ番号と数字が変わっていないか。 特に数字を置換した場合は、各ページのフッターを通して見ます
  3. 画像の中の文字が残っていないか。 ロゴや図解を画像で貼っている場合、画像に入った文字は置換の対象になりません。旧名称入りの画像は差し替えが必要です

AppleScriptで全文を書き出す場合は、置換と同じくスライドごとに object text を読み出して、テキストファイルに出力します。書き出したテキストを検索すれば、画面を1枚ずつめくらなくても残りがあるかを判断できます。

置換後にPDFで配るときの補足

置換した資料をPDFに書き出して配る場合、書き出したPDFからも旧名称が消えているかを確認しておくと安心です。

なお、PDFの種類によっては、文字を抜き出そうとすると意味の通らない記号の羅列になり、検索や確認ができないことがあります。フォントの文字の対応情報がPDFの中で壊れている場合に起こります。元のKeynoteファイルが手元にあるなら、PDFから文字を抜くのではなく、Keynoteのファイルから直接テキストを書き出すか、スライドを画像として書き出して確認する方が確実です。

まとめ

  • 1ファイル・1語句なら、Keynote標準の「検索と置換」→「すべて置き換え」で全スライドまとめて置き換えられる。スキップしたスライドや発表者ノートも対象になる
  • 複数の語句・複数のファイル・置換の記録が必要なら、AppleScriptでテキスト枠を読み出して書き戻す。26ページの資料でも数秒で終わり、枠の中の書式が揃っていればフォント・サイズ・色は残る
  • 数字は単独で置換しない。「19」ではなく「19店舗」のように単位まで含めて指定しないと、ページ番号まで書き換わる
  • 置換する前に、新しい数字が何を数えた数字かを元データで確かめる。ページごとに意味が違うなら一括置換しない
  • 置換後は、旧名称が0件になったか・ページ番号が無事か・画像の中の文字が残っていないかを確かめてから配る

名称の変更は、資料の数が多いほど手作業の負担と直し漏れが増えます。置換そのものは一瞬で終わるので、時間をかけるべきなのは置換前の数字の確認と、置換後の0件確認の2か所です。

関連記事

2026.10.04

発注の記録を月別に集計する表は元のシートと分けて作る|元データはIMPORTRANGEでつなぎ、月ごとのシートは「対象月」のセル1つで切り替える作り方と、件数・数量の検算

2026.10.04

多店舗の店舗一覧ページは地図とテキストの一覧を両方置く|県→エリア→ピンで選ばせる地図と、HTMLに最初から書いた店舗カードの作り方、公開前に電話・営業時間・予約先を突き合わせる手順

2026.10.03

実績の画面をSNSに載せるときの匿名化|市名だけ伏せても駅名・地名で店は分かる。店名は丸ごと置き換え、文字認識で実名の残りを機械的に照合する手順


お知らせ・ブログ一覧へ戻る