(license)みなさん、こんにちは!タカハシ(@ntakahashi0505)です。Scriptを使ってメルマガ配信システムを作成しています。前回は、名刺管理サービスCAMCARDの紹介と、そこから出力したデータをスプレッドシートに取り込む方法についてお伝えしました。名刺管理アプリCAMCARDの連絡先リストをスプレッドシートに取り込む名刺管理アプリのデータを上手に使うとメルマガ宛先リストが簡単に作成・更新できます。今回は名刺管理アプリのCAMCARDの紹介と連絡先リストをエクセル形式で出力しスプレッドシートへ取り込む方法を伝えします。Scriptを紹介いていきます。これによって名刺管理サービスからデータをエクスポートしてスプレッドシートにインポートしてスクリプト実行これで最新のリストになります。Scriptでメルマガシステムを作っちゃおう!現状確認と今回のお題まずメルマガを配信するメールアドレスのリストはスプレッドシート上にこのように作成しています。このシートは「配信先リスト」というシート名です。以前に紹介していますが、ここにメールアドレスが記載されていれば、メールマガジンの配信を自動で行うことができます。Scriptで超簡易メルマガ配信システムを作成しています。今回はいよいよスプレッドシートのアドレス宛にドキュメントの本文をGmailで送信する処理を追加していきます。tonari-it.com2016.02.17さて、新たに名刺交換をした方のメールアドレスをこの配信先リストに追加していきたいのですが、手打ちだと面倒ですし、間違えることもありますよね。一度、配信先リストに追加したのを忘れてしまい、重複して同じメールアドレスを追加してしまう、などといったこともあり得ます。Scriptを活用してしまおうという魂胆です。以下がCAMCARDのデータをインポートしたシートで、シート名は「Contacts」となっています。今回は、Contactsにあるメールアドレスのうち、まだ追加していないメールアドレスがあれば配信先リストに追加していくというスクリプトを作成していきます。CAMCARDデータをもとにメール配信リストを更新するスクリプトスクリプトはこちらになります。メールアドレスを追加という流れになります。以下詳細について解説をしていきますね。getSheetByNameでシートを取得するシートが一つの場合はgetActiveSheetなどで十分な場合が多いのですが、今回は二つのシートを取り扱うのでそれぞれを取得して変数に入れておく必要が出てきます。その場合、getSheetByNameを使ってシート名を指定して取得する方法が一般的です。Spreadsheetオブジェクト.getSheetByName(シート名)とします。今回は、変数sheetAddressに「配信先リスト」を、変数sheetContactsに「Contacts」をそれぞれ取得しています。フラグを利用して条件分岐Contactsのリスト内にあるメールアドレスそれぞれについて配信リストに”ない”ということを確認したら、配信リストに追加をします。そのためにはどうしたらよいでしょうか。フラグ用の変数flugFindを用意してfalseに設定をしていきます。配信リストを一つずつなめている場合に同じメールアドレスがあった場合はflugFindをtrueにします。最後まで同じメールアドレスがなかった場合はfalseのままですので、falseであったならば配信リストに該当のメールアドレスとその宛先情報を追加するという仕組みです。}123if(!flugFind){~処理~}とすることができます。この場合エクスクラメーションマーク「!」は否定を意味していますので、「flugFindがtrueではないならば」という条件式になります。上記スクリプトを実行するとほとんどモザイクで恐縮ですが、配信リストにないメールアドレスの宛先について情報を追加してくれます。ScriptでCAMCARDのデータからメルマガ配信リストの更新をする方法についてお伝えしました。今回はメルマガ用のリストでしたが、これは顧客のアタックリストだったり、年賀状の宛先リストだったり、非常に汎用性が高いものだと思います。ScriptとエクセルVBAとを使い分けて、リストの作成作業を楽ちんにこなして頂ければと思います。本スクリプトに話を戻します。実はこのスクリプト、実行するとわかるのですが、すごく動作が遅いんです。Scriptのちょっと弱いところなのですが、プログラムの書き方で大きく変わってきます。次回はその点の解説と解決をする方法についてお伝えできればと思います。Scriptでスプレッドシートの操作をしていて実行速度が遅い!と感じたことがあると思います。今回はスプレッドシートを操作する場合に処理速度を格段に速くする方法をお伝えします。ScriptでGmail、スプレッドシート、ドキュメントを連携させて操作することでメルマガシステムが簡単に実現できます。思ったより2割くらい簡単にできますよ。ちなみに無料です...さすがGoogle。プランノーツ代表、コミュニティ「ノンプロ研」主宰。ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ★フォロー頂ければ嬉しいです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。Scriptでダイアログを使ったcsvファイルアップローダーを作成する方法をお伝えするシリーズです。今回はGASのダイアログでファイルアップロードが失敗したらアラートを表示する方法です。Scriptで営業日のみトリガーを作成する方法をお伝えします。Googleカレンダーにデフォルトである祝日のカレンダーを使用する方法と、会社独自の営業日に対応する方法をお伝えします。ScriptでTrelloのAPIを叩きます。Docsを確認して今回必要なキーがidMembersとdueとわかったので、この二つを取り出して配列に代入する関数を説明します。ScriptGASでWebページを作成する際にCSSフレームワークBootstrapを導入する方法GASユーザーのためのHTML入門、簡単なWebページの作り方をお伝えしています。今回はGASでWebページを作成する際にCSSフレームワークBootstrapを導入する方法をお伝えします。ScriptGASでスプレッドシートの入力からGoogleカレンダーに複数のイベントを追加GASでGoogleカレンダーに複数の予定をまとめて追加するスクリプトを作成する方法をお伝えしています。今回は、スプレッドシートの値を二次元配列で取得して、複数のイベントを追加するスクリプトを作成します。ScriptでTrelloをAPIで操作する方法を解説します。今回は認証に必要なkeyとtokenを取得する方法と、取得したkeyとtokenをつかってボードIDを取得する方法をお伝えします。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。Scriptが「V8ランタイム」をサポート!モダンなECMAScript構文が使えるようになった2020.02.072020.02.08GASでコピーしたGoogleスライドのプレゼンテーションを取得する方法2020.02.052020.02.05Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。