0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

議事録共有!Google Meetで作成された議事録をもっと簡単に取りまとめる方法

Posted at

はじめに

みなさんGoogle Meetの自動録画機能&文字起こし&議事録使ってますか?

管理者コンソールで、自動メモ作成機能をオンにしておいて・・・
image.png

Googleカレンダーでミーティングなんかをセッティングした際に「Google Meetビデオ会議を追加」

image.png

これだけで、あとは会議すると議事録までつくってくれちゃう。(こまい設定作業はあった気がするけどわすれちゃったw)

なまら便利ですよね。でも、ちょっとネックなのが作成された議事が全部マイドライブに保存されてしまうこと。これ、できればみんなで共有しているところとか、プロジェクト単位で保存しておきたいじゃないですか。
なので、作ってみましたGAS。(僕がじゃなくてGeminiがだけどw)

下準備とコード

下準備は簡単。
大体議事録をみんなに共有したい時って「定例会」的なものが多いと思うんですが、その会議名をちゃんと固定化させておくこと
例えばたっくんとの週1定例会議があったと仮定したならば

「たっくん_定例MTG」

といった形にしておくと良いです。
定例会議はいろんな方とすごい量みなさん持っていると思うんですが、「XXXXX_定例MTG」みたいな表示フォーマット作っておくと便利かと

GASはドライブの「+新規」から選んでくださいね。

image.png

新規作成の準備画面はこちら
image.png

ここに以下のコードを貼り付けしてください。
なお、設定項目は前半3行のみです

GAS.gs
function moveFilesByTitle() {
  // ★★★ 設定項目以下3行 ★★★
  const sourceFolderId = 'ここに移動元のドライブID'; // 移動元
  const destinationFolderId = 'ここに移動先のドライブID'; // 移動先
  const searchString = 'ここに移動したい定例会議名'; // 例: '「XXXXX_定例MTG'

 // 共有ドライブへの移動の場合、destinationFolderIdは共有ドライブのIDとなります。
  // マイドライブ内のフォルダへの移動の場合、destinationFolderIdはそのフォルダのIDです。
  // 共有ドライブへの移動かどうかの判定 (共有ドライブの場合、IDが異なる形式になることがあります)
  const isSharedDriveDestination = destinationFolderId.length < 20; // 共有ドライブIDは比較的短い傾向

  // フォルダの取得
  const sourceFolder = DriveApp.getFolderById(sourceFolderId);
  let destinationFolderOrDrive;

  try {
    if (isSharedDriveDestination) {
      // 共有ドライブの場合
      destinationFolderOrDrive = DriveApp.getFolderById(destinationFolderId);
    } else {
      // マイドライブ内のフォルダの場合
      destinationFolderOrDrive = DriveApp.getFolderById(destinationFolderId);
    }
  } catch (e) {
    Logger.log('移動先フォルダ/共有ドライブの取得に失敗しました。IDを確認してください: ' + e.message);
    return;
  }

  // 検索文字列を含むファイルの取得(ここではDriveApp.getFilesByName()を使わず、後でフィルターします)
  // getFilesByName()は部分一致なので、ここではgetSourceFolder().getFiles()を使い、後でフィルターします
  const allFiles = sourceFolder.getFiles();

  let movedCount = 0;

  while (allFiles.hasNext()) {
    const file = allFiles.next();
    const fileName = file.getName();
    // ★★★ 前方一致でチェック(大文字小文字を区別しない場合) ★★★
    if (fileName.toLowerCase().startsWith(searchString.toLowerCase())) {
      try {
        // ファイルを移動元から削除
        sourceFolder.removeFile(file);
        // ファイルを移動先に追加
        destinationFolderOrDrive.addFile(file);
        Logger.log(`ファイル '${fileName}' を移動しました。`);
        movedCount++;
      } catch (e) {
        Logger.log(`ファイル '${fileName}' の移動中にエラーが発生しました: ${e.message}`);
      }
    }
  }

  Logger.log(`合計 ${movedCount} 個のファイルが移動されました。`);
}

GASが完成したらトリガーを忘れずに。僕は毎回ではなくて、週1回、定例会議が終わった1時間後とかにスクリプト動かすようにしています。
image.png

以上。

効果とまとめ

  • さまざまな定例の後にわざわざファイルを移動させる必要なし!!なまら楽ちん!!
  • ただし定例がずれたら翌週のスクリプト動くまでまってねw(そんなこまらない

インターネットの活用で会議のあり方が大きく変わったと思います。
それに伴って、議事録のシェアなどなかなか大変ですが、MeetとApps Scriptを使えば、意外と手軽に“ちょうどいい公開”ができるので、同じような悩みを抱える方の参考になれば幸いです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?