CSV データの特定列データをコピーし、特定列へ貼り付ける。

①Excelで、CSVファイルを開く、
②CSVファイルの特定列をコピーし、別の列へ貼り付ける。
③ファイルを上書きする

上記のことをしたいですが、やり方を教えていただけますか。

*Excelアプリケーションスコープでは、「範囲を読みこみ」と「範囲に書き込み」で
やってみたが、シート名が見つからないという下記のエラーとなって、前には進めません。

「ソース: 範囲を読み込み
メッセージ: シートが存在しません。
例外の種類: System.ArgumentException」

1 Like

CSVをEXCELで開くと、CSVファイル名がシート名になりますね?
「シート名」が見つからないのは、やはりシート名がないからです。

EXCELApplicationScopenの出力にある「ワークブック」にCtrl+Kで変数(仮にBKとしますね)を指定して、各アクティビティの「シート名」のところへ、BK.GetSheets(0).ToStringとすると、EXCEL上の最左端のシート名が取得できます。こうすると、「シート名が見つからない」と言うエラーは無くなります。

但し、「ワークブック」に変数を指定すると、「ワークブックを保存」で保存したり、「ワークブックを閉じる」アクティビティを使った方がよくなりますので、仕様に合わせてお使いください。

2 Likes

HANACCHI様

早速の返信、ありがとうございます。
ご指導した通り、シート名の取得はできました。

そこで、新たな疑問があり、範囲の指定ですが、
■範囲を読み込み
BK.GetSheets(0).ToString の ”J1:J100"
■範囲に書き込み
BK.GetSheets(0).ToString の ”A1:A100"

⇒結果、1行ずれています。

同じ値になるように、どのように、修正したらよいでしょうか。

それぞれのアクティビティで、ヘッダーに関してのチェックボックスの確認が必要ですね。おそらく…

問題解決しました。
ご指導ありがとうございました。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.