【仕様】結合したセルをExcelアクション/OpenDocumentスプレッドシートアクションで取得すると左上のセルのみ値が入っている

Excelにおいて、ExcelアクションおよびOpenDocumentスプレッドシートアクションの「セルの取得」アクションで値を取得すると
結合されたセル群のうち、左上のセルのみに値が入っている判定となります。

以下、具体的に説明します。以下のような形でセルが結合されている状況を想定します。

このとき、A1セル~B7セルまでをExcelアクションにてデータセット化すると、結果は以下のようになります。
(1行目は列名として扱う設定とした場合)

この結果からお分かりいただけるかと思いますが、結合されたセルの場合は
結合されたセルのうち一番左上になっているセル以外には値が格納されません。
そのため、例えば対応する「カテゴリー」と「名前」を組み合わせて
メールの件名とする、といった場合に、データセットループを用いて
「%ds_Table.カテゴリー%」+「%ds_Table.名前%」とするだけでは、カテゴリーがブランクになる行が存在する為
不可能であることを意味します。

この課題は、以下の方法で対処可能です。(以下、ループによる繰り返し処理を仮定します)
1. 「カテゴリー」を格納するための変数を1つ用意
2. 「%ds_Table.カテゴリー%」の内容がブランクでなければ、1の変数に「%ds_Table.カテゴリー%」の内容をセット
そうでない場合、1の変数の内容は据え置き
3. 「1の変数」+「%ds_Table.名前%」でセットする
となります。

以下、具体例です。(データセット「ds_Table」は、上記の表から作成しているものとします)

<AMVARIABLE NAME="var_Category" VALUE="" DESCRIPTION="カテゴリー" />
<AMEXCEL ACTIVITY="get_cell" WORKBOOK="%GetDesktopDirectory()%\Book1.xlsx" SAVETYPE="do_not_save" ACTION="rangebyreference" RESULTDATASET="ds_Table" STARTCELLREF="A1" LASTCELL="YES" FIRSTROWCOLUMN="YES" />
<AMLOOP ACTIVITY="dataset" DATASET="ds_Table" />
<AMIF EXPRESSION="%ds_Table.カテゴリー% &lt;&gt; &quot;&quot;" />
<AMVARIABLE ACTIVITY="set" VARIABLENAME="var_Category">%ds_Table.カテゴリー%</AMVARIABLE>
<AMIF ACTIVITY="end" />
<AMSHOWDIALOG COUNTDOWNDELAY="3">カテゴリーは「%var_Category%」、名前は「%ds_Table.名前%」です</AMSHOWDIALOG>
<AMLOOP ACTIVITY="end" />

明細行N行に対して、結合セル1セルを使用した表を使用してRPAの処理を組む必要がある場合は
結合セルを取得した場合の扱いに何卒ご留意ください。

Knowledge記事検索

Knowledge

News・Information