Readrangeについて

studio

#1

掲題について、
readrangeで一定の範囲ごとのcellを抽出して、writerange,writecellで出力したいと考えています。
readrangeをループさせるため、cellの範囲指定で、“A”+rowIndex:“C”+rowIndex2、のような形にして、各変数にassignで+1する形を作りました。
cellの範囲指定の段階で、expressionの終わるポイントがないという趣旨のエラーが出てしまいます。
readrangeでループをつくる方法をご教授お願いします!!


#2

ただのタイポかも知れませんがexpressionが完了していないようにみえます。
どのように設定したか、直接ペーストしていただけますか?

もし設定が
“A”+rowIndex:“C”+rowIndex2
だとすると、不正な文字になっています。
“A”+rowIndex+“:C”+rowIndex2
この場合は文字列として正しくなります。


#3

galbeath123さん

ありがとうございます!その通りでした。
これの通りにやったら上手くできたのですが、こういうのはどこで学べるのでしょうか?
なぜこの設定で上手くいったのか理解はできていないので、宜しければ何を参照すべきか教えてください。
重ね重ね申し訳ありませんが、宜しくお願いします!


#4

今回は
文字列はダブルクォートで囲み、変数はそのまま、結合するときは+。
というように、とりあえず覚えておけばよいと思います。
(いろんなプログラム言語で使える表記です。)

仮に
rowIndex1 = 1
rowIndex2 = 100
だった場合、
期待する結果は
「A1:C100」ですよね。

このとき、「A1:C100」の中で、
・固定部分はAと:(コロン)C。
・変動する部分(変数の部分)は1と100、
と考えてみます。

固定部分をクォートでくくります。
“A”
“:C”

変数はそのままでよいです
rowIndex1
rowIndex2

それぞれを+で連結します。
“A” + rowIndex1 + “:C” + rowIndex2
これでOKです。

#細かい話をすると、+でつなげてしまうと数字の加算と判断されるケースもあります。
#が、今は気にしなくてよいです。

前提となる知識がUiPathの場合は多いです。
VB.NETがわかって当然、というような雰囲気なので、
業務部門のユーザーはとっつきにくいようです。

UiPathの表記はVB.NETなので、大抵の悩みもVB.NETの書き方の悩みだったりします。
この場合は「VB.NET 文字列 連結」などで検索するとよいと思います。
UiPathを知らないけどプログラムをかじってる、という人に聞いても答えが返ってくるものも意外に多いので、
(たとえばExcel VBAしか知らない、という人でも)
身近にも聞ける人、教えてくれる人がいるはずです。

プログラムを書いたことがなければ最初は当然意味不明なので、
調べつつ、書きつつ、少しずつ慣れるしかないですね。
なんでも良いので何か言語を学んでみるのが良いと思います。
(VB.NETがいい、といわれそうですが、極端な話、
プログラムの基本を知るのであればpythonでもjavascriptでもなんでもいいです。無理なく楽しめそうな言語を触ってください)


#5

ご丁寧にありがとうございます!

今回の文字列についての解説も理解できました。
自分はUipathが初プログラミングなので、galbeath123さんの言う通り、他の言語学んでみます!
重ね重ね本当にありがとうごさいました。