knowledge CSVファイルを文字化けせずExcelで開けるようにする方法

【質問】
AutoMateで編集されたCSVファイルをExcelで開こうとすると内容が文字化けする。文字化けせず開けるようにする方法はないか。

【回答】
1. [PowerShell - スクリプトの実行]アクションを使用して文字コードを変換したファイルを別名保存
2. 別名保存されたファイルを変換前ファイルの名前にリネーム
以上処理を組むことで実現可能です。

CSVファイルをExcelで開くと文字化けする理由は、CSVの文字コードにあります。Excelは「BOM付きUTF-8」の文字コードのCSVファイルなら正しく開くことが出来ますが、「UTF-8」の文字コードのCSVの場合文字化けを起こします。一方AutoMateはもともと「BOM付きUTF-8」だったCSVファイルであっても編集・保存すると一律「UTF-8」として保存します。編集前後で文字コードの差異が発生することから、見かけ上同じCSVファイルであってもAutoMate操作後には文字化けが起こります。
AutoMateを使用してこの事象を回避する場合、Windows標準搭載のPowerShellを使用して文字コードを変換し、元のファイルをすげかえるという手法を取る必要があります。

以下構築例です。変換前のCSVファイルと変換後のCSVファイルはそれぞれ以下の変数にフルパスで記録されていることとします。
変換前: var_Original
変換後: var_Encoded

1. [PowerShell - スクリプトの実行]アクションを使用して文字コードを変換
→ラジオボタン"埋め込み"を選択し、以下のコマンドを記述します。
get-content -encoding:utf8 %var_Original% | out-file -encoding:utf8 %var_Encoded%
変数で指定している部分(変換前後のファイルのフルパス)に同一のファイルパスを記述すると変換が行われません。必ず異なるファイルパスまたはファイル名を指定してください。
2. [ファイルシステム - 名前を変更する]アクションで、変換後のファイルを変換前のファイル名で上書き
→ラジオボタン"ファイル"を選択し、"元の名前"に変換後のファイル名(%var_Encoded%)、"新しい名前"に変換前のファイル名(%var_Original%)を指定します。
"ファイルオプション"タブ内"ファイルが存在する場合は上書きする"のチェックボックスを有効にします。

上記構築例の実例は以下です。コピーしてタスクビルダーに貼り付けご確認下さい。
また、変数"var_Original"には、任意のCSVファイル(UTF-8形式)のファイルパスを指定してください。

<AMVARIABLE NAME="var_Original">%GetDesktopDirectory()%\UTF8ファイル.csv</AMVARIABLE>
<AMVARIABLE NAME="var_Encoded">%GetDesktopDirectory()%\変換後UTF8ファイル.csv</AMVARIABLE>
<!--PowerShellを使用しUTF-8のCSVをUTF-8(BOM付)に変換-->
<AMPOWERSHELL>get-content -encoding:utf8 "%var_Original%" | out-file -encoding:utf8 "%var_Encoded%"</AMPOWERSHELL>
<!--変換後のCSVを変換前のファイル名で上書きする-->
<AMFILESYSTEM ACTIVITY="rename" SOURCE="%var_Encoded%" DEST="%var_Original%" OVERWRITE="YES" />

以下の記事もご確認下さい。
https://automate.sct.co.jp/knowledge/10795/