シートに入ってるデータを全選択したい。

エクセルシートにあるデータを全選択して消したいのですが、どのようにすればいいでしょうか?データの量は毎回違うので範囲指定する枠が毎回変わります。

@shohei017

Please follow below steps to do this.

  1. Use Read Range activity to read the data from Excel and will give you output as Datatable and say DT.

  2. int rowCount = DT.Rows.Count

  3. And then use Insert/Delete Rows activity and specify below fields.

NoRows: rowCount

Position: 0

1 Like

Hi @shohei017

You can use invoke method activity

Dt.rows pass it as target object method delete
in data collection pass datarow
Thanks
Ashwin S

Could you show me example xaml ?

Hi @shohei017

Use this sample file
Main.xaml (18.1 KB)

Thanks
Ashwin S

1 Like

「行の挿入・削除」アクティビティですと、EXCELシート上の行を直接操作しているようで、「行の挿入・削除.」の削除機能を使って行削除していると、行が上に移動しているのが見えます。ですので、可視チェックをOFFにするとより速くなります。

一方、「範囲を読み込み」アクティビティを使って読み込んだDataTable領域の各行、各列をString.Emptyで初期化(?)し、そのDataTable領域を「範囲に書き込み」アクティビティを使って上書きしても実現可能でした。

検証に使用したXAMLを添付します。ご笑覧ください。

行の挿入・削除.zip (16。7 キロバイト)

1 Like

別解としては:

Excelアプリケーション自体を操作するのであれば、[Send Hotkey]アクティビティを使用して、
[Ctrl+A]を2回、その後[Del]キーを押すことでシート全体の値を消去できます。

2 Likes

@shohei017

こんにちは!

全シート選択して消去のやり方では有りませんが、
もし、初期状態に戻すためのデータ消去の場合は、
発想を変えて、データが空のテンプレート
ファイルを用意しておき、そのファイルを
コピーが簡単です。

2 Likes

あはは!いろんなやり方がありますよね。

データを全削除する前後の処理、
全削除するシートの死活のタイミング、
ROBOTを動かす環境(デスクトップで、専用PCで。。。)、
失敗した時のリカバリ。。。

などを踏まえて、ROBOTを作っていくのでしょう。

2 Likes