プログラマ38の日記

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

Salesforce/Excel: ナレッジのカテゴリを一覧表示するマクロを作成しました

ナレッジのデータカテゴリを一覧化するマクロを作成しました。
※このツールは、TLS1.1以上で通信する必要があり、Windows10や、TLS1.1以上を使うようにレジストリを変更したWindows7などで利用できます。

 

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

 

記事とカテゴリのひもづけオブジェクトであるデータカテゴリ選択(XXX__DataCategorySelection)へデータローダで登録する時や、登録内容のチェックで使えると考えています。注意点としては、有効なカテゴリのみの表示となります。

 

使い方は次の通りです。

Salesforceの接続情報を指定
②通信設定
③データカテゴリ一覧取得

上記でデータカテゴリの一覧を表示します。ポイントとして、Excelのセルのインデントを駆使して、階層を表現してみました。

f:id:crmprogrammer38:20171227162539p:plain

表示される項目は左から

  • 連番
  • グループ名
  • グループの一意の名前
  • 説明
  • カテゴリ名
  • カテゴリの一意の名前
  • 階層の深さ

になります。

 

最後に

今回はSOAP APIのdescribeDataCategoryGroups、describeDataCategoryGroupStructuresを使っているため有効なカテゴリのみの表示となります。

Metadata APIのreadMetadataを使えば、無効なカテゴリも含めて表示することができますが、無効なカテゴリの表示はいらないかなーと思い、describeDataCategoryGroups、describeDataCategoryGroupStructuresを使いました。

カテゴリは、階層を持つ構造で、カテゴリの中にカテゴリの配列を持っています。この構造を取得するのに再帰的にカテゴリを取得する処理をしています。

 

ナレッジのカテゴリはエンターキーやタブキーでとても入力がしやすいのですがラベルと物理名を一覧を表示する仕組みがないためExcelマクロを作ってみました。バージョンアップでsoqlで取得できるようになったら嬉しさ半分寂しさ半分です。