プログラマ38の日記

主にプログラムメモです。

Salesforce/Excel: 直接カスタム項目を作成するExcelマクロを作成しました

前回、ロールを作成するExcelマクロを作成しましたが、同様にカスタム項目を作成するExcelマクロを作成しました。メタデータAPIを使用している点など仕組みは前回と同じになります。

 

ダウンロードはこちらから。

 

Salesforceの項目作成は10項目程度であれば画面から作成しても大変ではないのですが、100項目や200項目となってくると画面から作成するのはとても大変です。

そんな時に使えるマクロになります。

※全てのデータ型を作成できません。あと、全ての設定はできません。 

 

作成できるデータ型は

  • テキスト(Text)
  • テキストエリア(TextArea)
  • 数値(Number)
  • 通貨(Currency)
  • チェックボックス(Checkbox)
  • 日付(Date)
  • 日付/時間(DateTime)
  • 電話番号(Phone)
  • メール(Email)
  • URL(Url)

になります。

 

テキスト項目や数値項目をたくさん作成したいときに使えると思います。 

 

使い方は次の通りです。

Salesforceの接続情報を指定
②通信設定
③カスタム項目情報を設定
④登録ボタンをクリック

f:id:crmprogrammer38:20170920083735p:plain

Salesforceの接続情報を指定、②通信設定は、前回のロール作成マクロの時と同様の設定です。

 

③カスタム項目情報を設定

オブジェクトAPI カスタム項目を作成するオブジェクトのAPI名を指定します。標準オブジェクトであれば、Account、Case、Activityなどとなり、カスタムオブジェクトであれば、Sample__cなどとなります。
※活動のカスタム項目はプログラムで使用する時はTaskとEventの2つですが、カスタム項目を作成する時はActivityとなります。
表示ラベル 必須です。カスタム項目のラベルを指定します。
カスタム項目API 必須です。カスタム項目のAPI名を指定します。
作成するのはカスタム項目なので末尾は必ず"__c"となります。
データ型 必須です。テキスト : Text、テキストエリア : TextArea、数値 : Number、通貨 : Currency、チェックボックス : Checkbox、日付 : Date、日付/時間 : DateTime、電話番号 : Phone、メール : Email、URL : Urlとして対応します。
文字数 / 桁数 データ型が、テキスト、数値、通貨の場合必須です。テキストの場合は桁数、数値、通貨の場合は精度となります。精度での指定なので、整数部15桁、小数部3桁であれば、精度は18桁となります。
小数点の位置  データ型が、数値、通貨の場合指定します。
ヘルプテキスト ヘルプテキストです。
説明 説明です。
処理結果 正常に登録できた場合、作成/更新を表示します。エラーの場合、エラーメッセージを表示します。

※2007/10/29 ヘルプテキストと説明欄を追加しました。

 最後に

APIバージョンを29.0にしているのですが、その理由は項目レベルセキュリティをデフォルトで付与したいからです。(ポータルプロファイルなどには付与されません)

APIバージョン30.0以上で項目を作成すると、項目レベルセキュリティはシステム管理者にも付与されないので多少使いづらさを感じてバージョンを下げています。

 

選択リスト項目や、参照関係・主従関係項目、数式項目は設定が複雑なのでマクロでは難しいと思いました。
難しいと感じるところは具体的に、設定項目が増えていくため画面からの作成と手間がさほど変わらない点、soap envelopeの中身が複雑になっていくのでマクロのプログラムも複雑になってしまう点です。

 

もちろんピンポイントでこの設定もできると使いやすいのにという事もあると思いますが、その際にはマクロを使いやすいように変更して使ってもらえるとうれしいです。