1. yoshi_iwa

    Posted

    yoshi_iwa
Changes in title
+IBM Notes にCSVを読み込ませる
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,88 @@
+# IBM Notes にCSVを読み込ませる
+
+ [かつてはExcelがLotus 1-2-3形式をサポートしていた](https://support.office.com/ja-jp/article/%E4%BB%96%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%BD%A2%E5%BC%8F%E3%81%A7%E3%83%96%E3%83%83%E3%82%AF%E3%82%92%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B-6a16c862-4a36-48f9-a300-c2ca0065286e#OfficeVersion=2016%E3%80%812013)のですが、サポートされなくなってから123ファイルの読み込みを使わなくなって久しいものです。
+ とはいえ、Excelのような表形式ファイルを読み込みたいという需要は引き続きあるため、方法を2つほどご紹介します。
+ 2案とも、このCSVを対応表のように取り込むものとします。
+
+```CSV:取り込みCSV
+氏名, ふりがな, メールアドレス, 年齢
+印九キー太, いんくきーた, in-quii@hogehoge.com, 18
+````
+
+
+【対応表】
+
+| 要素 | フィールド名 |データタイプ|
+|:-:|:-:|:-:|
+|氏名|Name|テキスト|
+|ふりがな|Kana|テキスト|
+|メールアドレス|eMail|テキスト|
+|年齢|Age|数値|
+
+
+## 1.表形式のテキストファイル用COLファイル(形式ファイル)を使う
+
+ 以下のようなテキストファイルを1つ作成し、hoge.colなどとして保存してください。
+※個人的にはこちらが楽にできるので、この方法をお勧めします。
+
+```COLファイル:COLファイル例1
+HEADERLINE 1
+; ----------------------------------------------------------------
+; 列定義ステートメント
+; ----------------------------------------------------------------
+Name:UNTIL ",";
+Kana:UNTIL ",";
+eMail:TYPE Text UNTIL ",";
+Age:TYPE Number UNTIL "";
+```
+
+ 一番最後の項目の区切り文字が```""```(空文字列)であることは注意してください。ここを```","```としたり、何も指定しないと以下のようなエラーが出てうまく書き込めません。
+![image.png](https://qiita-image-store.s3.amazonaws.com/0/151198/51bac484-cd9e-06ac-6a95-945e922a68c5.png)
+
+
+1. [ファイル]→[呼び出し]と選択
+1. 呼び出しCSVを選択。ファイル形式は[Tabular Text]
+1. 以下スクリーンショットのように各項目を指定し、OKボタンを押す
+
+
+
+ COLファイルには@式を入れることも可能で、CSVの値を変更しつつ取り込むことも可能です。
+ CSVファイルを保持しつつ、NotesDB側の取り込みの際に値を調整したい場合に有用です。
+ たとえば上記の例の場合フォームが定まらないのですが、以下のように設定することで、CSVからの読み込みをしつつ、フォームを設定することが可能です。
+
+```COLファイル:COLファイル例2
+HEADERLINE 1
+; ----------------------------------------------------------------
+; 列定義ステートメント
+; ----------------------------------------------------------------
+Name:UNTIL ",";
+Kana:UNTIL ",";
+eMail:TYPE Text UNTIL ",";
+Age:TYPE Number UNTIL "";
+
+; ----------------------------------------------------------------
+; 式
+; ----------------------------------------------------------------
+FORMULASTART
+FIELD Form := "UserInfo";
+FORMULAEND
+```
+
+
+ 他詳しくは、以下を参照ください。
+
+- [IBM Knowledge Center \- 表形式のテキストファイル用の COL ファイルを記述する](https://www.ibm.com/support/knowledgecenter/ja/SSVRGU_8.5.3/com.ibm.designer.domino.main.doc/H_ABOUT_WRITING_A_COL_FILE_FOR_A_TABULAR_TEXT_FILE.html)
+- [\[B\-Com News 54\] Notes DB に CSV データをインポート ほか: B\-Com News バックナンバー(No\. 51 ~ 100): ベストコミュニケーションズ](http://www.bcom.co.jp/corp/ez3_contents.nsf/v27/D67EF5DB75C62EEF49257B1200093E9C)
+
+
+## 2.LotusScriptによるアクション等の作りこみにより解決
+
+ COLファイルによる読み込みのほうが圧倒的に楽なのですが、LotusScriptによる取り込みも可能です。
+ 以下ページのコードをカスタマイズすることで、取り込みが可能です。
+ こちらに詳しくまとまっていて、すぐ動くサンプルコードがあるのでリンクを共有します。
+
+- [IBM CSV ファイルから Notes 文書を作成する方法 \- Japan](http://www-01.ibm.com/support/docview.wss?uid=swg21467030)
+
+
+
+ ……早くxlsxやodsからの呼び出しができるようになるといいのですが。