スプシの特定の範囲をslackに定期投稿する方法3選

「Google スプレッドシートの一部だけを画像として共有したいけれど、毎回キャプチャしてトリミングするのが手間…」

「スプレッドシートの内容が変わったタイミングで、最新情報を画像付きで共有したいが、その都度作業するのは負担が大きい…」

このように、スプレッドシートの情報を画像として活用したい場面で、作業の手間や時間のロスにストレスを感じたことはありませんか?

もし、指定した範囲のデータを自動的に画像として生成し、チャットツールへの通知やストレージへの保存、さらには記録用のDB連携まで一括で行える仕組みがあったとしたらどうでしょう。

面倒な作業から解放され、スピーディーで確実な情報共有が実現し、より重要な業務に集中できるようになります。

今回ご紹介する方法は、ノーコードで手軽に導入できるうえ、面倒な設定も不要。

ぜひこの自動化で、業務をもっとシンプルに効率化していきましょう!

当ブログがオススメする

業務自動化サービスランキング

なお、業務効率化や工数削減を目指しているものの、どの業務から自動化すべきか、どのツールや手段が自社に合っているのかがあいまいな方は、「業務自動化プラン診断」をお試しください。

かかる時間は1分ほど。4つの質問に答えるだけで、あなたに最適な自動化対象業務や、推奨される自動化手段を診断してもらえます。

効率よく自社に適した業務効率化を知りたい方は、ぜひ一度お試しください。

\ 4つの質問に答えるだけ /

目次

こんなシーンでの活用に適しています

① 営業会議や定例ミーティングでの数値報告に

毎週決まったタイミングで売上や進捗を共有したいときに、スプレッドシートの該当範囲を画像化してSlackへ自動投稿すれば、情報共有の抜け漏れを防ぎながらスマートに報告できます。

② KPIや在庫状況など、リアルタイムで変動するデータの共有に

業務指標や在庫状況などを定期的に画像で可視化することで、担当者やチーム全体が常に最新の状況を把握しやすくなり、判断スピードが向上します。

③ 外部パートナーとのやり取りにおける共有手段として

システムにアクセスできない外部パートナーやクライアントにも、必要な情報を画像で共有することで、閲覧環境に左右されずにスムーズな連携が可能になります。

方法1:Google Apps Script

メリット完全無料で柔軟にカスタマイズ可能
デメリット初回設定時にやや手間がかかる
難易度・面倒さ中(コードコピペとSlack設定が必要)
特徴Google製のツールだけで完結し、Slack通知も自動化できる
価格無料(Google WorkspaceとSlackの無料プランでOK)

用意するもの

①Googleアカウント

②Slackアカウント

③SlackのWebhook URL(取得方法は後述)

設定手順

🔹Step 1:SlackのWebhook URLを取得する

1. Slack APIページにアクセス

Slack APIのYour Appsページ(https://api.slack.com/ )にアクセスします。

2. 「Create NewApp」をクリック

「Create NewApp」をクリックし、アプリの作成を開始します。

3. 「From scratch」を選択

「From scratch」を選択して、アプリを一から作成します。

4. AppNameとworkspaceを設定

AppName(アプリ名)を入力し、利用するSlackのワークスペースを選択して「Create App」をクリックします。

5. App Display Nameを設定

左側のメニューから「App Home」を選択し、「App Display Name」のEditを押し、アプリ名を設定します。

6. Incoming Webhooksを有効化

左側のメニューから「Incoming Webhooks」を選択し、「Activate Incoming Webhooks」をオンにします。

7. Webhookをワークスペースに追加

「Add New Webhook」をクリックし、投稿先のチャンネルを選択して「許可する」をクリックします。

8. Webhook URLの取得

これでWebhook URLが生成されます。このURLに対してPOSTリクエストを送ることで、指定したSlackチャンネルにメッセージを投稿できます。

🔹Step 2:Google Apps Scriptを使って画像化&Slackに送信するコードを設定する

1.スプレッドシートを開く

Google Driveから、自動化したいスプレッドシートを開いてください。

2.メニューから Apps Script を開く

上部メニューの「拡張機能」→「Apps Script」をクリックします。

3.新しいコードを貼り付ける

表示されたエディタに、以下のコードをそのまま貼り付けます👇

※コードの中にある “シート名” や “A1:E10″、Webhook URL をご自身の環境に合わせて書き換えてください。

function sendPDFLinkToSlack() {
  const sheetName = '報告シート';
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName(sheetName);
  const sheetId = ss.getId();

  const exportUrl = `https://docs.google.com/spreadsheets/d/${sheetId}/export?` +
    `format=pdf&portrait=true&fitw=true&gid=${sheet.getSheetId()}`;

  const token = ScriptApp.getOAuthToken();

  const response = UrlFetchApp.fetch(exportUrl, {
    headers: {
      Authorization: 'Bearer ' + token
    }
  });

  // PDFをDriveに一時保存
  const blob = response.getBlob().setName('レポート.pdf');
  const file = DriveApp.createFile(blob);
  file.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW); // 公開設定

const slackWebhookUrl = 'https://hooks.slack.com/services/XXXX/YYYY/ZZZZ'; // WebhookURLを入力
  const payload = {
    text: '最新のレポートです!\n' + file.getUrl()
  };

  UrlFetchApp.fetch(slackWebhookUrl, {
    method: 'post',
    contentType: 'application/json',
    payload: JSON.stringify(payload)
  });
}

🔹Step 3:関数を実行してみる

1. 画面上の「ディスクのアイコン」で保存(名前は何でもOK)

2. 上部メニューの「関数を選択」から captureAndSendToSlack を選ぶ

3. ▶️(再生マーク)をクリックして実行

4. 最初だけ「権限の確認」が求められるので、「許可」を選択して進める

5. Slackにポストされる

🔹Step 4:定期的に自動で実行させたい場合(トリガーの設定)

1.Apps Script画面左側の「時計アイコン(トリガー)」をクリック

2.「トリガーを追加」ボタンを押す

3.以下のように設定します:

・関数を選択:sendPDFLinkToSlack

・イベントのソースを選択:時間主導型 → 日付ベースのタイマー → 午前9時〜10時などを選択

4.「保存」を押して完了

よくある質問

スプレッドシートのどの範囲がPDFとして出力されるのですか?

指定したシート全体が対象になります。特定の範囲だけを出力したい場合は、該当範囲だけを別シートにコピーして、そのシートを対象に設定する方法がおすすめです。

PDFのファイル名を変えたり、Slackの投稿メッセージを編集したりできますか?

可能です。コード内の setName(‘レポート.pdf’) の部分を変更すればファイル名を変更できますし、text: ‘最新のレポートです!\n’ + file.getUrl() の部分で投稿文を自由に編集できます。

Slackに画像ではなくリンクが投稿されるのはなぜですか?

Google Apps Scriptから直接Slackに画像を貼り付ける機能は制限があります。そのため、一度Google DriveにPDFを保存し、そのURLをSlackに投稿する形をとっています。リンクをクリックすれば、誰でもファイルを閲覧可能です(※閲覧権限の設定を「リンクを知っている全員が閲覧可」にしています)。

スプシの画像化 + slack通知がなかなかうまくいかないときは?

プログラミングが未経験の方にとっては少しハードルが高く「諦めるしかない⋯」と挫折するきっかけを生みかねません。

「上手く実装できない⋯」

「社内で自動化したは良いものの、自分がやめたら引き継ぐ人がいない⋯」

「一つ自動化したら、他部署からも自動化を依頼されて自分の仕事が進まない⋯」

と不安な方もいますよね。

そこで、おすすめしたいのが「ジドウカ」です。

ジドウカは、これまで合計800タスク以上の業務の自動化をしてきた実績のある法人専用の自動化サービスです。

業務の一部を“タスク単位”で自動化し、【月額1万円から】安定運用できるサブスクリプション型のサービスです。 タスクを外注するため手離れもよく、技術のことが分からなくても、「こういう作業をラクにしたい」と伝えるだけで自動化することが可能です。

「わたしが自動化したい内容って自動化できるんだろうか⋯」という方には、少額・短期間での「お試し開発」があるので、お気軽にご活用ください。

方法2:Saasを使う

今回はYoomを使って、行っていきます。

メリットノーコードで直感的に設定でき、複雑な処理も一括自動化可能
デメリット無料枠の制限あり、高度な処理には有料プランが必要
難易度・面倒さ低(画面操作のみで完結)
特徴複数アプリ連携がテンプレートで簡単に実現可能
価格無料プランあり(ただし実運用では有料プラン推奨)

設定手順

1. Yoomアカウントの作成:Yoomに登録し、ワークスペースを作成します。

2. アプリの連携:以下のアプリをYoomの「マイアプリ」に登録します

・Google スプレッドシート

・CloudConvert

・Google Drive

・Slack

3. テンプレートのコピー

Yoomが提供する「Google スプレッドシートを画像としてコピーする」テンプレートをワークスペースにコピーします。 

4. トリガーの設定

Google スプレッドシートの特定の行が更新された際にフローが起動するように設定します。 

5. 画像変換と通知の設定

CloudConvertを使用してスプレッドシートの範囲を画像に変換し、Slackに通知するように設定します。 

6. フローの有効化

設定が完了したら、フローを有効化し、自動化が正常に動作するか確認します。

方法3:外注する(クラウドソーシングサービスを活用する)

メリット自社にエンジニアがいなくても、アイデアを形にできる
デメリット成果物のクオリティはワーカーによって差があるため、選定に注意が必要
難易度・面倒さ中〜高(発注にあたっての要件整理ややり取りが発生する)
特徴「こういう作業を自動化したい」と伝えるだけで、実装からテスト運用まで対応してもらえる
価格依頼内容・工数による

実際の手順

🔹Step 1:依頼内容を明確にする

1. 自動化したい作業の流れを簡単に図や文章でまとめる

2. スプレッドシートのURLやSlackのチャンネル名、投稿したい時間帯なども整理しておく

3. 実現したい成果(例:「毎週月曜9時にこの範囲のスクショをSlack投稿」)を明記

🔹Step 2:クラウドソーシングサービスに登録する

1. クラウドワークスやランサーズなどの国内サービスに無料登録

2. プロジェクト方式またはタスク方式で新規案件を作成

3. 「スプレッドシートの画像化+Slack投稿自動化」といった具体的なタイトルを設定

🔹Step 3:ワーカーを選定し、打ち合わせする

1. 応募者の中から、実績・評価・自己紹介文を参考に候補を選定

2. メッセージ機能で「やりたいことが伝わっているか」を確認

3. 必要に応じて、Zoomやチャットでオンライン打ち合わせを行う

🔹Step 4:制作・テストを依頼する

1. Googleアカウントの共有範囲を調整(編集者 or 閲覧者レベル)

2. ワーカーがApps Scriptを実装し、動作確認

3. 必要があれば、トリガー設定やSlack側のWebhook連携も一括で依頼

🔹Step 5:納品・検収・今後の運用へ

1. 納品された内容を確認し、Slackに投稿が正しくされるかをテスト

2. 問題なければ「検収」として報酬を支払い、評価を投稿

3. 定期的な改善や別タスクの追加依頼も視野に、継続的な関係構築も可能

まとめ

Google スプレッドシートの特定範囲を画像化してSlackに定期投稿する作業は、一見すると地味ですが、情報共有のスピードと正確性を大きく左右する重要な業務です。本記事では、自分で実装する方法(GAS)、ノーコードツール(Yoom)を使う方法、外注する方法の3つをご紹介しました。

「コストを抑えながら柔軟に対応したい」という方はGASでの自動化が最適ですし、「手軽さと操作性を重視したい」ならノーコードツールが有力です。「技術的に難しい」「時間がない」という場合は、思い切って外注するのも非常に効果的な選択肢です。

いずれの方法でも共通して言えるのは、手間を減らし、業務効率を大きく向上させることができるという点。まずは自社のリソースや目的に合った方法から試してみて、日々の業務に小さな自動化の第一歩を取り入れてみてはいかがでしょうか?

「自動化って、もっと簡単に始めてよかったんだ」と感じてもらえたら幸いです。

目次