モーリーのメモスマートフォン用の表示で見るモーリーのメモアプリ開発等(プログラミング、CG作成)、興味を持ったことを実践してまとめるブログです。JavaScriptこの記事は、スプレッドシートで宛名印刷を作ること自体が目的です。実際に使うには、印刷の位置とサイズの調整(プログラムやプリンタの設定で調整)が必要だったり、文字の入力にルールがあったりと、ちょっと手間です。フォントも自由に選べません。ちなみに、宛名印刷が目的の場合は、下記のサービスが良さそうでした。yubin-nenga.jp↑これが無料で使えるんですね。年賀状の宛名面を作成します。フォントしか使用できません。全角半角はチェックしていません。文字数はチェックしています。私が使用している環境です。(64-bit)設定方法Googleスプレッドシートは、無料で使えるオンラインの表計算(Excelみたいな)アプリです。利用するにはGoogleアカウントが必要です。画面右下の赤い『+』をクリック『無題のスプレッドシート』が開きます。名前は何でも構いません。(『宛名印刷&住所録』など)3.スクリプトエディタを開く『ツール』-『スクリプトエディタ』をクリックスクリプトエディタで『無題のプロジェクト』が開きます。raw』を別窓で開くと、全選択しやすいかも。『保存』ボタンをクリックプロジェクト名を入力して『OK』をクリック名前は何でも構いません。『辞書』メニューを追加します。『実行』-『onOpen』をクリック『許可を確認』をクリック『許可』をクリックスプレッドシートに戻ると、メニューに『宛名印刷』が追加されています。注意!:テスト印刷をして、印刷の位置とサイズを調整する必要があります。ハガキに印刷しないでね。『はがき』シートは、宛名書きのベースとなるシートです。『住所録』シートは、宛先等のデータを入力するシートです。スプレッドシートを開き、メニューの『宛名印刷』-『はがき・住所録シートを作成』をクリックシートが追加されます。住所録を追加とりあえず試す場合は、スクリプトエディタに貼り付けたコードにあるテストデータをコピペして下さい。全て全角文字で入力します。1行当たりの入力文字数は、下記の通りです。郵便番号はハイフンを入れません。改行させたい部分に『,』(半角ピリオド)を入れます。『住所録』シートでプレビューしたい行を選択メニューの『宛名印刷』-『現在の行の宛名書きを表示』をクリック『はがき』シートで、宛名書きが確認できます。文字の縦方向の配置は下記のようになっています。297mm)』を選択(*適切なサイズがないため、プリンタでサイズ変更します。保存した『export.pdf』を印刷します。!まずは、印刷の位置とサイズを調整する必要があります。プリンタの設定は、使用している機種によって変わります。ちなみに私の場合は、プリンタのオプションで、用紙に『ハガキサイズ』を選択し、縮尺は『手動(カスタム)で48%』にするといい感じで出力されました。印刷の位置は、プログラム内で変更します。スクリプトエディタを開いて、10〜11行目の『margin_left』と『margin_top』で余白のサイズを変更します。『margin_left』は『はがき』シートの『A列』の幅のサイズです。『margin_top』は『はがき』シートの1行目の高さのサイズです。印刷テスト印刷で満足する結果が得られてから実行して下さい。自己責任でお願いします。等幅フォントしか使用できません。1文字ごとの幅が同じフォント(MSゴシック等)しか使えません。スプレッドシートには縦書きがありません。改行で縦書きにしているのでずれてしまいます。全角半角はチェックしていません。住所録データは全角文字で入力する必要がありますが、チェックはしていません。文字数はチェックしています。あとがき時期的な思い付きで作ってみました。今回Googleスプレッドシートで出来なかったことは下記のとおり。GASから直接印刷はできない。GASからPDFする方法は2つあるが、下記の点で今回採用せず。『getAs()』と『createFile()』を使う方法:印刷設定(グリッド線を消す、レイアウトの変更等)が出来ない。『URLFetchApp.fetch()』を使う方法は:印刷設定は出来るが、認証が必要。使える日本語フォントが少ない。