この記事について
BizRobo!のDesktop Automation(DA)で変数を使い始めて、色々とハマったのでメモ。基本的な使い方は他の記事や公式ドキュメントを見てください。ここでは実際に躓いた部分だけをまとめます。
前提
- BizRobo! ver.11.4環境
- DAの基本的な使い方は理解している前提
1. ダブルクォートを含む複雑な文字列
実際に遭遇した例:
# ファインダーでnameとidの両方を指定
編集[name="テスト"][id="1"]
これを変数化する場合:
= コンポーネント = "編集[name=¥"" + 名前変数 + "¥"][id=¥"" + ID変数 + "¥"]"
ポイント:
- 文字列として表示したい
"の前に¥を付ける - 変数と文字列の結合は
+を使う
読みやすく分割して書く方法:
# 1. 各部分を変数に格納
= Name部分 = "[name=¥"" + 名前変数 + "¥"]"
= ID部分 = "[id=¥"" + ID変数 + "¥"]"
# 2. 結合
= コンポーネント = "編集" + Name部分 + ID部分
こうすると、どこでエスケープを忘れたかが分かりやすい。
2. パスにバックスラッシュが含まれる場合
Windowsのファイルパスで必ず出てくる問題。
やりたいこと:
C:\Users\Documents\report.txt
正しい書き方1:バックスラッシュを2つ重ねる
= パス = "C:\\Users\\Documents\\report.txt"
正しい書き方2:シングルクォートを使う(推奨)
= パス = 'C:\Users\Documents\report.txt'
シングルクォートだとバックスラッシュをエスケープしなくて良い。パス指定はシングルクォート推奨。
変数と組み合わせる場合:
# ベースパスはシングルクォート、結合部分はダブルクォート
= フルパス = 'C:\Users\Documents\' + ファイル名 + ".txt"
公式でオススメされてる運用方法:
- フォルダパスは必ず末尾に
\を含めて変数定義 - 結合時は
\を追加しない
# タイプファイルでの定義
フォルダパス: 'C:\Users\Documents\' ←末尾に\を含める
# DA内での使用
= フルパス = フォルダパス + ファイル名
# 結果: C:\Users\Documents\report.txt
まとめ
自分がハマった文字列操作のポイント:
-
ダブルクォート →
¥"でエスケープ(半角円記号を忘れずに) - 複雑な文字列 → 分割して変数に格納すると見やすい
-
パス指定 → シングルクォート
'...'が楽