こんにちは。えんのしたです。
さて、今回はkintoneユーザーであればよく使われているであろうkintone専用のメール送信システム、KMAILERのお話です。

営業活動やバック業務に活用するととんでもなく業務を効率化してくれたりします。そんな便利なツールですので当たり前にできると思っていたことができなかった、、というケースがありましたのでご紹介します。

テーブルをKMAILERの本文に反映して送信したい

やりたいことはこれです。KMAILERにはテンプレートを作成する際、ショートコード{{テーブル}}が使えます。なので、やればいいじゃん!と言われそうですが、ひとまずやってみましょう。表示させたい元のテーブルはこれです。

 

 

1,まずはテンプレート作成画面で素直にショートコードを入れてみる

そのまんま文字の羅列で反映されます。どこがテーブルですか!ならば!ということで

 

 

 

2,カラムを指定してショートコードを入れてみる

テーブルの体は醸し出してきましたが、これでは実運用には到底耐えかねませんね。というわけで標準機能ではこれが限界です。お疲れ様でした、、、と諦めるえんのしたではありません。

試行錯誤

3,HTMLエディターでtableタグを使ってみる

こんなコードでためしてみました。

				
					<table style="border-collapse: collapse; width: 100%;">
  <thead>
    <tr>
      <th style="border: 1px solid #ddd; padding: 8px; background-color: #f2f2f2;">商品番号</th>
      <th style="border: 1px solid #ddd; padding: 8px; background-color: #f2f2f2;">数量</th>
      <th style="border: 1px solid #ddd; padding: 8px; background-color: #f2f2f2;">単価</th>
      <th style="border: 1px solid #ddd; padding: 8px; background-color: #f2f2f2;">小計</th>
    </tr>
  </thead>
  <tbody>
    {{#テーブル_7}}
    <tr>
      <td style="border: 1px solid #ddd; padding: 8px;">{{商品番号}}</td>
      <td style="border: 1px solid #ddd; padding: 8px;">{{数量}}</td>
      <td style="border: 1px solid #ddd; padding: 8px;">{{単価}}</td>
      <td style="border: 1px solid #ddd; padding: 8px;">{{小計_0}}</td>
    </tr>
    {{/テーブル-7}}
  </tbody>
</table>
				
			

 

するとテンプレートのプレビューにはちゃんとテーブルが、、、!

 

よしよしと思って保存して、もう一度テンプレを開いてみると、、、

記述したコードが勝手に変更されてテーブルが崩れています。メーカーさんに問合せてみたらtableタグが不正とみなされ自動修正されてしまっているそうです。そういう仕様とのことです。魔法の言葉、仕様。

 

 

4,tableタグを諦め、CSSでテーブル風にしてみる

アプローチとしては<table> タグの代わりに <ul> や <div> を使用してあたかもテーブルのように見せます。この方法では、CSSスタイルを利用して各項目をテーブルのセルのように見せます。すると、なんということでしょう。

 

 

できました!テンプレ保存してもコードは変更されていません!

 

最後に

KMAILERだけではなく、kintoneのメンテナンスには予期せぬ問題が発生することも多々あります。ですが、創造的なアプローチと根気強い試行錯誤を通じて、ほとんどの問題は克服できます。今回の経験は、技術的な障壁に直面した際にも柔軟に対応し、解決策を見つけ出すことの重要性を再認識させてくれました。

 

弊社ではお客様がkintoneで実現したいことを諦めず、様々なアプローチで実現させるよう考えることも仕事のうちです。

日々のカスタマイズにお困りの方は是非下記よりご相談ください。