Ctrl IO 要素 TYPE 変数 XPath 入力オプション Fixed 入力値 出力値 結果 詳細 メモ
#ログイン画面
EXECUTE           タブ名:ログイン、開始位置:1、終了位置:999、引数:、戻り値:                
#Excel最終行の取得
  IN   NUM:SUBSTITUTE     変数名:^row、代入式:2               ^rowはExcel行番号
  IN   NUM:SUBSTITUTE     変数名:^id、代入式:-1               ^idは_messageId
WHILE     CELL-VALUE     条件:ブランクでない   A ^row          
  IN   NUM:SUBSTITUTE     変数名:^id、セルで指定   A ^row          
  IN   NUM:SUBSTITUTE     変数名:^row、代入式:^row+1                
WEND                            
                             
#取得対象MSGを特定する。ループ脱出時、^str_midにはExcel出力済で最新のIDが入る。 ただしExcel出力済MSGが0件(^id=-1)の場合は、最初のMSGが入る。
  OUT 最新MSG ATTRIBUTE   //div[contains(@id,"_messageId")][last()] 属性:id TRUE             [last()]:検索された中で最後の要素
  IN   STR:LAST-VALUE     変数名:^str_mid               形式:_messageId99...99
  IN 数字のみ残す STR:REPLACE     ^re_mid=^str_mid、old[_messageId]、new[]                
  IN 数値に変換 STR:CONVERT-NUM     文字(元):^re_mid、数値(新):^num_mid                
WHILE     VAR-NUM [比較値:^id]   変数名:^num_mid、条件:>、比較値:^id                
IF     ATTRIBUTE [文言:^str_mid] //div[contains(@id,"_messageId")][1] 条件:文言一致、属性:id、文言:^str_mid                
  IN   SENDKEYS [XPath:^str_mid] //div[@id="^str_mid"]   TRUE     {PGUP}        
IF     ATTRIBUTE [文言:^str_mid] //div[contains(@id,"_messageId")][1] 条件:文言一致、属性:id、文言:^str_mid                
BREAK                            
END-IF                            
END-IF                            
  OUT 一つ前のMSG ATTRIBUTE [XPath:^str_mid] //div[@id="^str_mid"]/preceding-sibling::div[contains(@id,"_messageId")][1]"_messageId")][1] 属性:id TRUE              
  IN   STR:LAST-VALUE     変数名:^str_mid                
  IN   STR:REPLACE     ^re_mid=^str_mid、old[_messageId]、new[]                
  IN   STR:CONVERT-NUM     文字(元):^re_mid、数値(新):^num_mid                
WEND                            
#^id=-1の場合を除いて、最初の出力対象MSG(現在の^str_midの次のMSG)のIDを^str_midに保存する。
IF     VAR-NUM     変数名:^id、条件:!=、比較値:-1                
IF   次のMSG FIND-ELEMENT [XPath:^str_mid] //div[@id="^str_mid"]/following-sibling::div[contains(@id,"_messageId")][1]messageId")][1] 条件:要素が存在                
  OUT   ATTRIBUTE [XPath:^str_mid] //div[@id="^str_mid"]/following-sibling::div[contains(@id,"_messageId")][1]messageId")][1] 属性:id TRUE              
  IN   STR:LAST-VALUE     変数名:^str_mid                
ELSE                           取得対象MSGなし
RETURN                           処理終了
END-IF                            
END-IF                            
#1件目の出力
EXECUTE   出力処理       タブ名:出力処理、開始位置:1、終了位置:999、引数:^row,^str_mid、戻り値:^row               引数はExcel行、対象メッセージID
#メッセージがある間、出力を繰り返す。
WHILE   次のMSG FIND-ELEMENT [XPath:^str_mid] //div[@id="^str_mid"]/following-sibling::div[contains(@id,"_messageId")][1]messageId")][1] 条件:要素が存在                
  OUT   ATTRIBUTE [XPath:^str_mid] //div[@id="^str_mid"]/following-sibling::div[contains(@id,"_messageId")][1]messageId")][1] 属性:id TRUE              
  IN   STR:LAST-VALUE     変数名:^str_mid                
EXECUTE   出力処理       タブ名:出力処理、開始位置:1、終了位置:999、引数:^row,^str_mid、戻り値:^row               引数はExcel行、対象メッセージID
WEND