# CSV取り込みでのレコード追加・更新について

**URL:** <https://community.cybozu.dev/t/topic/4564>\
**Category:** kintone 開発相談\
**Created:** [2019 年 11 月 13 日午前 8:24 UTC](https://community.cybozu.dev/t/topic/4564 "2019-11-13T08:24:59Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account1137](https://avatars.discourse-cdn.com/v4/letter/l/65b543/32.png) [@Legacy\_Account1137](https://community.cybozu.dev/u/Legacy_Account1137)\
**Post date:** [2019 年 11 月 13 日午前 8:24 UTC](https://community.cybozu.dev/t/topic/4564/1 "2019-11-13T08:24:59Z")

</div>

いつもお世話になっております。  
現在開発しているアプリの中でご教授願いたいものがあるため投稿させて頂きます。

現在、定期的に送られてくるメールから予定を追加・更新するアプリを考えています。  
それを以下のプロセスで実装しようと考えているのですが、これよりも良い方法があるような気がしてならないため知識を分けて頂ければ助かります。

1.OutLookから届いたメールからCSVを作成。  
2.作成したCSVをkintoneに取り込む。ただし、特定フィールド（日付・場所・グループ）の値が重複するデータがあれば更新処理を行う。

1に関しては[こちら](https://developer.cybozu.io/hc/ja/community/posts/213307583-%E3%83%A1%E3%83%BC%E3%83%AB%E3%81%AE%E6%B7%BB%E4%BB%98%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92kintone%E3%81%AB%E8%87%AA%E5%8B%95%E7%99%BB%E9%8C%B2%E3%81%97%E3%81%9F%E3%81%84)を参考にOutLookVBAで実装しようと思っています。  
ただ、2を行う際に、既存データ取得→処理判定→データ加工→登録・更新のプロセスをcsv取り込みの時点で行うことは可能でしょうか？

もし不可能なのであれば、別アプリなどにcsvデータを登録してバッチ処理で5分毎に本命アプリへの登録を行うような形にしようと思うのですが  
こういった回りくどい感じではなくスマートな形で加工したデータを登録する方法はあるでしょうか？

本来はソースコードを出してからご教授願うべきなのですが、業務多忙のため準備が出来ませんでした。  
〇〇を使うと上手くいくかも、など助言を頂ければ助かります。宜しくお願い致します。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1740](https://avatars.discourse-cdn.com/v4/letter/l/ed8c4c/32.png) [@Legacy\_Account1740](https://community.cybozu.dev/u/Legacy_Account1740)\
**Post date:** [2019 年 11 月 14 日午前 4:06 UTC](https://community.cybozu.dev/t/topic/4564/2 "2019-11-14T04:06:38Z")

</div>

SiGeN様

お世話になっております．  
トヨクモの江田と申します．

OutlookVBAから外部APIを実行できるようなので，kintone REST APIを実行してレコードを登録するのがよいかと思います．  
メールからCSVではなくJSONデータを作成して，レコード登録を行うのがよいかと思います．

[https://qiita.com/haradaj/items/f5d8e2aab6b3ee5f4108](https://qiita.com/haradaj/items/f5d8e2aab6b3ee5f4108)  
[https://developer.cybozu.io/hc/ja/articles/202166160](https://developer.cybozu.io/hc/ja/articles/202166160)

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1137](https://avatars.discourse-cdn.com/v4/letter/l/65b543/32.png) [@Legacy\_Account1137](https://community.cybozu.dev/u/Legacy_Account1137)\
**Post date:** [2019 年 11 月 14 日午前 4:28 UTC](https://community.cybozu.dev/t/topic/4564/3 "2019-11-14T04:28:54Z")

</div>

江田篤史様

ご回答ありがとうございます！

REST APIが実行可能という情報ありがとうございます。

知識が乏しいものでご確認させて頂きたいのですが、既存データ取得・判定・登録をOutlookVBA上ですべて行うという認識でお間違いないでしょうか？

教えて頂いた記事を読んで理解を深めたいと思います。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1740](https://avatars.discourse-cdn.com/v4/letter/l/ed8c4c/32.png) [@Legacy\_Account1740](https://community.cybozu.dev/u/Legacy_Account1740)\
**Post date:** [2019 年 11 月 14 日午前 5:47 UTC](https://community.cybozu.dev/t/topic/4564/4 "2019-11-14T05:47:56Z")

</div>

SiGeN様

お世話になっております．

仰る通り，OutlookVBA上で全処理を行うのがよいかと思います．

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1137](https://avatars.discourse-cdn.com/v4/letter/l/65b543/32.png) [@Legacy\_Account1137](https://community.cybozu.dev/u/Legacy_Account1137)\
**Post date:** [2019 年 11 月 14 日午前 8:18 UTC](https://community.cybozu.dev/t/topic/4564/5 "2019-11-14T08:18:49Z")

</div>

江田篤史様

再度ご回答ありがとうございます！

jsは少しいじれるようになってきましたが、また毛色が違う形の実装なのでよく勉強してみたいと思います！
