Excel記載の値をテキストに貼り付ける方法

いつもお世話になっております。

これから、この処理を導入するかしないかで検討しております。
Excelに記載の値をメモ帳やサクラエディタに記載する処理を考えております。
セルが空の場合と値が入っている場合で処理を変えたいのですが
どのような方法がありますでしょうか。

※例
E31~E40があるとしてE31~E35まで値がはいっている
値が入っているE35までコピペがしたい

上記が希望の処理です。
上記処理の方法がご存じの方はご教示お願いいたします。

E31~E40までを範囲を読み込みアクティビティで読み込み、DataTable化。

繰り返し(各行)アクティビティで、row.Item(0)が空白になるまで、その値を連結し、最終的にそれをテキストファイルとして書き出す。

メモ帳に張って保存するのでしたら、テキストファイルとして書き出しても大丈夫ですかねぇ。。。

お疲れ様です。
早々の返信ありがとうございます。

上記処理に少し追加がしたいです。
例としてE31~E40、F31~F40に値が入っているとします。
E31(aaa)、カンマ(,)、F31(123)を以下画像のように転記させそれらをExcel列に値が入っていないところまで処理が行いたいです。
例外処理としてF31~F40が空白の場合でもE列の処理は最後まで行いたいです。
処理の流れとして
E31→文字列カンマ→F31

E32→文字列カンマ→F32
のように行いたいです。

また、例外として(F列に値が入っていない場合)
E31→文字列カンマ→エンター

E32→文字列カンマ→エンター
という処理が希望です。

上記処理の方法がございましたらご教示いただけますでしょうか。
※カンマは文字列として記載予定

sakura

【追記】
Excelのシート名"sheet①"と"sheet②"でループを考えておりますが
sheetの名前を返してループさせることは可能でしょうか。

また、そのようなメソッドは存在しますでしょうか。

となると、例えば範囲を読み込みアクティビティでは”E31:F40”とし、2列のDataTableに格納し、繰り返し(各行)アクティビティでそのDataTableの行を回す。その中の代入アクティビティで、

左辺:ファイル域
右辺:ファイル域 & ControlChars.CrLf & Row.Item(0) & “,” & Row.Item(1)

としますと、「改行aaa、123改行bbb、456改行ccc、789」になります。

最終的に使用するファイル域は、先頭に改行記号が入っているので、
ファイル域.SubString(2)とすると、先頭のCrLf改行記号を飛ばして参照できます。

シートのLoopに関しても可能で、シート名を取得するアクティビティを使ってみる、全シート名を取得するアクティビティを使ってみる、2つの方法が簡単かと思っています。

如何でしょう?

お疲れ様です。
返信が遅くなり申し訳ございません。

>左辺:ファイル域
というのは、列のDataTableに格納した変数のことでしょうか。
※変数(DataTable)は範囲で取得した変数を格納しております。

また、
>繰り返し(各行)アクティビティでそのDataTableの行を回す。
というのは、具体的にどのようにして回すのでしょうか。
空白になるまで、、?だとは思いますが、条件式が思い浮かびません。
どのような例があるかご教示いただけますでしょうか。

現在、Sheet①、Sheet②、Sheet③とあり、それらを繰り返す場合
3回繰り返されてしまいます。
今の方法としてシートを取得してSheet③以外回そうと思っております。
そこで、条件分岐として「Sheet③=True」で行っております。
Sheet③の以外の処理が行いたいため、Elseに繰り返しアクティビティ等を配置し処理しようと考えております。
この方法で治す必要があるところはありますでしょうか。

テキストファイルに書き出そうってノリの回答でしたので、ファイル域はString型ですね。DataTable型の行を回すのは「繰り返し(各行)」アクティビティですね。

まず、1シートで思うようなファイルが出力できるようにしてみましょう

お疲れ様です。
早々の回答ありがとうございます。

>ファイル域はString型ですね。
適当に作ったStringの変数を入れる認識ですが、
当たっておりますでしょうか?

とりあえず、いろいろ試してやってみようと思います。

適当に作ったStringの変数を、テキストを書きだすのです。
そうすると、テキストエディタにコピペではないですが、テキストファイルとして出力できます

お疲れ様です。
回答ありがとうございます

代入なので左辺が変数なのは当たり前でしたね、、、
見当違いな質問をしてしまいました。
知りたかったのは右辺のファイル域の方でした(-_-;
左辺と同じ変数でよろしいのでしょうか。
上記方法で、行いましたところ
「Option strict On では演算子’&'に対してObject型のオペランドを使用することができません」
の表記が出てしまいます。
改善方法等ありますでしょうか。

また、Row.Item(0) & “,” & Row.Item(1)
Row.Itemというのはなんですか?
ご教示お願いいたします。m(__)m

変数の型がobject型になっていて、それを文字列型として扱えないと言うエラーです…

ですので、object型の変数の後ろに.ToStringをつけましょう。

rowは、繰り返し(各行)で使うDataTable型の中の一行が格納される変数です。

お疲れ様です

いろいろ試してみた結果うまく動いてくれません(;‘∀’)
ファイル域というのは、繰り返しアクティビティの要素[DRow]のことだと考えております。
そのため、代入は以下の通りにしております。
DRow = DRow.ToString & ControlChars.CrLf & Row.Item(0).ToString & “,” & Row.Item(1).ToString

DRow → 繰り返しアクティビティの要素
Row → 変数(String)

上記内容で行ったところ
Itemは’String’のメンバーではありません
とエラーがでてしまいます。
エラーを解消する方法はありますでしょうか。

以上、よろしくお願いいたします

試す前に、まずはDataTable型の勉強ですね(^^♪

ファイル域というのは、繰り返しアクティビティの要素[DRow]のことだと考えております。
⇒違います。String型で取った変数で、のちのちファイルに書き出す領域です

もし、繰り返しアクティビティの要素で[DRow]としたならば、

ファイル域 = ファイル域.ToString & ControlChars.CrLf & DRow.Item(0).ToString & “,” & DRow.Item(1).ToString

となりますね。