Category Archives: アクティビティ

UiPathで吹き出しを使ってユーザーにお知らせをする方法

UiPathで吹き出しを使ってユーザーにお知らせをする方法 ※2018.3よりUiPathがデフォルト日本語のアクティビティ名となりましたので、この記事では各アクティビティや機能名を日本語名(英語名)というように記載しています。 UiPathを使ってユーザーにメッセージボックスを出すアクティビティは昔からありますが、いつの間にやら吹き出しを表示させる機能が追加されました。今回はこのアクティビティを紹介していきます。 ・メッセージボックスと何が違うの?「吹き出し」(Callout)アクティビティ 吹き出しアクティビティとメッセージボックスの大きな違いの一つとして、「吹き出しを出す場所が指定できる」ということが挙げられます。これによってユーザーに注目させたい場所を指定することが可能です。指定方法はセレクターを使う方法になります。(もちろん普通のセレクターと同じように座標指定なんかも可能です) まずは「画面上で指定」を使ってターゲットを指定します。今回は電卓アプリの「=」キーに表示させてみましょう。 ターゲットを指定したらプロパティで表示させたい文字を指定します。吹き出しの左上に表示させるのが「タイトル」で本文が「コンテンツ」となります。 とりあえずこんな感じで設定しました。 結果はこうなります。 若干ずれている気もしますが気にしないでください。OKを押すまではシナリオの動作が停止します。この辺はメッセージボックスと同じですが、もう一つの大きな違いとして、吹き出しは表示時間を設定することも可能です(デフォルトはOKを押すまで閉じません)。その設定はオプションの「タイマー」で設定します。例として4ミリ秒で設定しました。はい、一瞬で閉じました。4秒で閉じたい場合は4000と入れましょう。 だからそういとこだって!UiPath。ミリ秒なのかなんなのかいい加減わかるところに書こうよ。あとdelayだけ時分秒形式なのも何でなの?というかメッセージボックスも時間で閉じるオプションあってよくない?  

UiPathでユーザーに任意のフォルダ・ファイルを選択させる方法

UiPathでユーザーに任意のフォルダ・ファイルを選択させる方法 ※2018.3よりUiPathがデフォルト日本語のアクティビティ名となりましたので、この記事では各アクティビティや機能名を日本語名(英語名)というように記載しています。 UiPathを使ってユーザーに処理対象となるフォルダやファイルを選択させたい、 ということはよくあると思います。今回はそんなときに便利なアクティビティを紹介していきます。 ・ユーザーにフォルダを選択させたい時に使うアクティビティ そのまんまですが「フォルダーを選択」(Select Folder)アクティビティを使用します。 このアクティビティを使うと、ダイアログが表示され(Windows標準のエクスプローラのような形です)ユーザーにここでフォルダを任意に選択させることができます。 ユーザーが選んだフォルダのパスはプロパティの出力にある「選択されたフォルダー」で指定した変数に文字列として格納されます。 ・ユーザーにファイルを選択させたい時に使うアクティビティ こちらもそのまんまですが「ファイルを選択」(Select File)アクティビティを使用します。 このアクティビティを使うと、ダイアログが表示され(こちらもWindows標準のエクスプローラのような形です)ユーザーにここでファイルを任意に選択させることができます。 ユーザーが選んだファイルのパスはプロパティの出力にある「選択されたファイル」で指定した変数に文字列として格納されます。なお、特定のファイルだけ(例えば.xlsxや.pdf)を表示させたい場合は入力プロパティの「フィルター」に書かれている、(*.*)|*.*を(*.xlsx)|*.xlsxというように書き換えることで、エクスプローラに表示されるファイルの種類を限定できます。 なお、複数フィルタを掛けたい場合はカンマで区切ってください。例えばExcel関連なら(*.xls,*.xlsx,*.xlsm)|*.xls,*.xlsx,*.xlsmとなります。ちなみにこの情報は上の設定をエラーにしたときに出るんですけど、エラーじゃなくてわかる場所に書いて欲しいんですよね。 そういうとこだよ、UiPath。 (注意点) フォルダ・ファイルに共通して注意点があります。ユーザーは必ずしも思ったとおりに操作してくれるとは限りませんので、例えば「ダイアログを閉じる」なんてことは当たり前のように起こります。 選択せずにダイアログを閉じてしまうと「フォルダ・ファイルが選択されなかったエラー」が発生しますので、エラーハンドリングをしないとシナリオはそこで止まってしまいます。 また、ファイルの場合は間違った種類が選択されないようフィルタをかけたり、後でシナリオ内でのチェックを行うなどしてください。  

UiPath初心者にお勧めの書籍紹介

UiPath初心者にお勧めの書籍を紹介 その名もズバリ「できるUiPath」です。「RPAとはなにか」系の雑誌はわりと巷に溢れてきましたが、ついにUiPath専門の書籍が発売されるようです。 もちろん当サイトを使えば無料でもいろいろと情報を集めることはできますが、初心者というのは「何がわからないのかわからない」わけなので、こういった体系的にまとめられた書籍は非常に役に立つのではないかと思います。 ちなみに「できる」系の書籍については、昔は凄まじくでかい文字に当たり前のことしか書いてないというイメージしかなかったので、UiPathなんて特定の製品で大丈夫か?と心配しましたが、例えばEXCELとの連携やメール連携、年月日系の入力方法といった、初心者が気になる部分についてもかなりページを割いていますので実用的な内容であると思います。 また、2019/2月現在、UiPathに特化した書籍はこれしか存在しませんので、とにかく情報がほしい、という方にはうってつけかなと思います。2/7発売ですので、気になる方はぜひチェックしてみてください!

UiPathでフォルダのサイズを取得する方法

UiPathでフォルダのサイズを取得する方法 ※2018.3よりUiPathがデフォルト日本語のアクティビティ名となりましたので、この記事では各アクティビティや機能名を日本語名(英語名)というように記載しています。 UiPathには様々なアクティビティがありますが、意外と存在しないものもあります。 代表的なものは年月日系の取得、ファイルの名前を取得するなどですが、 これらは.netの方法がそのまま使えますので大して難しくありません。 しかし、フォルダのサイズに関しては1発で取る方法が見つからないと思います。 ここではUiPathでどうやってフォルダサイズを取得すればよいかを解説していきます。 1.フォルダのサイズそのものは取得できない いきなり核心です。なんとそんなものは存在しません。 では結局どうすればよいのでしょうか。答えは… フォルダの中にあるファイルのサイズを一つずつ調べて、全部足す です。嘘じゃないです。.netでは本当にこれしかないんです。 .netでファイルサイズを取得するにはnewだの何だのと、いったいそんなのどこから出てきたんですか、 という内容となり、ほぼほぼ.netの話になるのでここでは解説しません。 専門的なサイトのほうでしっかり解説されていますのでそちらをご覧ください。 .netなんて極力勉強したくない!じゃあ、どうすればいいか、 フォルダのプロパティを開いてそこからテキストを取得する です。これならいくらサブフォルダがあろうが隠しファイルがあろうが関係ありません。 これぞUiPathならでは、プログラム解らない人でも安心といった取り方です。 やりかたはただテキストを取得(Get Text)アクティビティでプロパティから取ってくるだけです。 プロパティウィンドウなのでループしなくても勝手にWindowsが計算してくれます。 ただ、この方法の弱点は見ての通り余計な情報が多いことです。 xxx KB(xxxx,xxxxバイト)のような感じで、例えばほしいのが()の中のバイトサイズだったら、 数字だけ加工して取ってくるのが面倒です。サイズによって文字数も変わりますし、 こんなのループして条件分岐なんてしてたらnewしたほうがよっぽどマシです。 そんなときは下記のように置換(replace)アクティビティと正規表現を使います。 上で.netがどうこういいながら正規表現というのも大概ですが¨ 言語に関係なく使えるので、いきなりnewよりはましでしょう。 まず1つ目の置換(replace)アクティビティのプロパティのパターンの部分に、 “.*\((.*) バイト\)”と入力し、置換の入力欄に”$1″と何も考えずに入れれば、括弧の中の数字だけ取得できます。 2つ目の置換で,(カンマ)を””に変換して、削除します。もしかしたら1回でもできるかもしれません。 なお、入力と結果には同じ変数を指定できます。 (※上記はWindows7や8の場合で確認しました) 正規表現を使うと死んでしまう人は、もっと別のやり方を考えましょう。 例えばコマンドプロンプトを立ち上げてCDコマンドを使って目的のフォルダまで移動し、 Dirコマンドを打ってもサイズは取得することができると思います。(もちろんテキスト成型は必要でしょうが¨) ダイレクトにサイズ、というのは取れませんが、UiPathはなんにでもアクセスできることを考えてみれば、 実は取る方法がたくさんあります。

UiPathとOutlookでメールの自動送信を実現する方法

UiPathとOutlookでメールの自動送信を実現する方法 ※2018.3よりUiPathがデフォルト日本語のアクティビティ名となりましたので、この記事では各アクティビティや機能名を日本語名(英語名)というように記載しています。 また、Outlook関連アクティビティはUiPathのバージョンが2018.3以降ではない場合、別途パッケージのインストールが必要ですのでご注意ください。 1.準備 まず以下を準備する必要があります。 ・アカウント設定済みでメールが受信可能な状態のOutlookが起動している (Outlookアクティビティはシナリオを動作させるとき、仕様上、必ずOutlookを起動していないと正しく動作しません) Outlookは当然必要です。持っていない場合はPOP3などほかのアクティビティを使ってください。 次にOutlookのアカウント設定をしてメールが送信できる状態にしてください。 2.Outlookメールメッセージを送信(Send Outlook Mail Message)アクティビティを追加 準備ができましたので、さっそくUiPathで処理を作っていきます。 まず、「Outlookメールメッセージを取得(Send Outlook Mail Message)」アクティビティを追加します。 このアクティビティでは3つの項目が設定できます。まず宛先(To:)、件名(Subject)、本文(body)です。 次にプロパティを見ていきましょう。 ここではアカウント情報(Outlookに複数のアカウント設定がある場合は必須です)、送信者の名前、CC,BCCなどが設定できます。 また、添付ファイルなども設定することができます。このほか、HTML形式にするかどうかもチェック(HTML本文)で指定します。 3.宛先、件名、本文を指定して送信 もっとも単純なメール送信をする場合を解説します。 この場合はアクティビティのボックスに必要事項を文字列で入力するだけとなります。 たとえば [email protected]のような宛先に、「test」という件名で、「これはテストです」という内容の文章を送る場合、 以下のような形となります。基本的にこれだけでOKです。 おまけ1.CC、BCCを指定して送信 CCやBCCはプロパティで以下の様に設定します。 おまけ2.複数の宛先を指定して送信 TO、CC、BCCを複数にしたい場合は以下の様に記述します。 ※下記例は[email protected][email protected][email protected]をToに設定する場合です。 “[email protected];[email protected];[email protected]” 見ていただけると分かりますが、Outlookとまったく一緒です。CCやBCCでも同様の記載方法で複数設定が可能です。 おまけ3.添付ファイルを添付して送信 アクティビティの下部にある「ファイル添付」を押すと、 下記のように何をすればいいのかわからない非常に雑なウィンドウが開きます。 説明の手抜きっぷりが半端ないですが、ここではファイルの格納先を指定します。 例えばC:\test.jpgというファイルを送付したい場合は、以下のように指定します。 2つ目以降も「引数の作成」を押せば追加できます。 もちろんこの「C:\test.jpg」の部分をString型の変数にすれば可変にできます。 注意点として、この設定の仕方の場合は必ずファイルをつけないとエラーになってしまうので注意してください。 また、添付ファイルの数を可変にしたい場合はあらかじめコレクションを作成しておく必要があります。

UiPathでOutlookを使ってメール受信+作業自動化を実現する方法

UiPathでOutlookを使ってメール受信+作業自動化を実現する方法 ※2018.3よりUiPathがデフォルト日本語のアクティビティ名となりましたので、この記事では各アクティビティや機能名を日本語名(英語名)というように記載しています。 また、Outlook関連アクティビティはUiPathのバージョンが2018.3以降ではない場合、別途パッケージのインストールが必要ですのでご注意ください。 UiPathではOutlookによるメール受信・送信を自動化する機能があります。 今回はメール受信をトリガーとした次の作業への自動化手順を解説していきます。 1.準備 まず以下を準備する必要があります。 ・アカウント設定済みでメールが受信可能な状態のOutlookが起動している (Outlookアクティビティはシナリオを動作させるとき、仕様上、必ずOutlookを起動していないと正しく動作しません) Outlookは当然必要です。持っていない場合はPOP3などほかのアクティビティを使ってください。 次にOutlookのアカウント設定をしてメールが受信できる状態にしてください。 2.Outlookメールメッセージを取得(Get Outlook Mail Messages)アクティビティを追加 準備ができましたので、さっそくUiPathで処理を作っていきます。 まず、「Outlookメールメッセージを取得(Get Outlook Mail Messages)」アクティビティを追加します。 次に下記画像の通り、「メールフォルダー」でメールが入るフォルダの名前を文字列で指定します。 ※アカウントはオプション設定ですので、1つしか設定していない場合は空白でOKです。 メールフォルダーはデフォルトでは”Inbox”となっていますが、これは英語版の「受信トレイ」にあたるもので、 残念ながら日本語のOutlookでは動作しません。今回は「受信トレイ」で設定してみましょう。 ※もし、受信トレイの階層より下にあるフォルダにアクセスした場合は\(¥)でWindowsのフォルダを指定するように指定してください。 例えば受信トレイの下にある「情報」という名前のフォルダであれば、「受信トレイ\情報」となります。 ここで取得したメールの情報は出力プロパティのメッセージで指定した変数に入ります。 変数は入力欄でCtrl+Kもしくは右クリックメニューで作成して指定しましょう。 また、「最上部」というプロパティで上から何件目まで取得するかを指定する必要があります。 デフォルトだと30件で、何もいれないと動作しません。もし全部取りたいときは「Int32.Maxvalue」と入れましょう。 ※件数については最後のおまけも参照してください。 3.取得したメッセージを繰り返し(コレクションの各要素)アクティビティで処理する UiPathは簡単に情報を取る部品は揃っているのですが、それを次にどうすればいいかは全く教えてくれないので、 プログラムの知識がないとなかなか扱うのが大変です。 通常、データは取ってきただけではだめで、それを処理する必要があります。 先ほどのアクティビティは対象となるメッセージを一気に全部取ってくるものです。 そのため、「繰り返し(コレクションの各要素)」(For each)アクティビティを使ってそれを1つずつ処理していく必要があります。 先ほどのメッセージ取得アクティビティの後ろに「繰り返し(コレクションの各要素)」(For each)アクティビティを追加しましょう。 さらにその中のBodyにメッセージボックス(message box)アクティビティを入れておいてください。 次に「繰り返し(コレクションの各要素)」のプロパティに注目してください。 「繰り返し(コレクションの各要素)」(For each)アクティビティは繰り返す対象となる変数の型を指定してあげる必要があります。 Outlookで取ってきたものは「Mailmessage」型を指定してあげないといけません。 そうしないと下記のようなエラーが出ます。 (このアクティビティの時はこれ以外エラーになるので、正直人間がこれを選ぶ意味がまったくないと思います。 自動化と銘打つならMailmessage型が指定されたらそれぐらいUiPath側で判別してほしいのですが¨) 設定するにはまずプロパティのTypeArgumentを選び、右のプルダウン(Objectになっているところ)を押します。 次に検索ボックスで「mailmessage」と検索します。 同じ名前が複数出てきますが、一番目の「System.Net.Mail」の中にある方を選びます。 これで1件ずつ処理する準備が整いました。 4.取得したメッセージのほしい情報を選ぶ 最後にメールの中のどの情報を操作するか選ぶ方法を覚えましょう。… Read More »

UiPathの動作高速化チューニング

UiPathの動作高速化チューニング ※2018.3よりUiPathがデフォルト日本語のアクティビティ名となりましたので、この記事では各アクティビティや機能名を日本語名(英語名)というように記載しています。 UiPathの動作を人に見せると帰ってくる反応のひとつとして、「もっと早く動かないの?」というのがあります。 実は十分な検証をすることができるのであれば、スピードアップにチャレンジすることもできます。 ここでは具体的にどのあたりをチューニングするかのポイントを解説していきます。 チューニングポイント1:操作系アクティビティ前後の待機時間   実はUiPathのマウス操作やキーボード操作はデフォルト設定でワンアクション(アクティビティ)ごとに、 前に0.2秒、後ろに0.3秒の、合わせて0.5秒遅延が入っています。(プロパティ>共通) 当然、これらは意味もなく入っているわけではありません。 これを短くすれば対象のアプリケーションによっては反応が追いつかなくなり、 ついにはUiPath側の動作が追い越してしまい、エラーになってしまうというリスクがあるからです。 逆に言うと十分な検証を行えば、最速で0秒の待機とすることもできます。 まずマウスクリックやキーボード操作を見ていきましょう。 こういったタイプのアクティビティには確実にプロパティで個の項目がありますので、 待機時間を前後合計0.5秒以下になるように設定していきましょう。 なお、これ以外のタイプ、例えばEXCELファイルの読み込み、 代入などのアクティビティにはこういった設定はありません。 この時にお勧めなのが、設定値を変数にすることです。 (ホントは設定ファイルでデフォルト値を一律変更できるといいんですけどね¨) これにより、デバッグモードの低速ステップのように、代入(Assign)アクティビティと組み合わせて、 一律動作速度を変更することができるようになります。 もちろん検証によってこの部分は待機無し、この部分は待機あり、 という細かいチューニングが必要な場合はこのやり方はお勧めできません。 チューニングポイント2:文字を入力(Type Into)アクティビティ 例えばファイルを保存するとき、フォームへ入力をするときなど、 文字を入力(Type Into)アクティビティでキーボードの自動入力操作が行われます。 この入力操作は大量の文字を入力することもよくあるので、 動作中の見た目は自動化しているな~というインパクトがありますが、 これが何千、何万件ともなってくると、塵も積もればで遅延の原因となります。 これを高速化するには2つの方法があります。 2-1.文字を入力(Type Into)プロパティで「入力をシミュレート」のチェックを入れる 1つ目の方法は文字を入力(Type Into)プロパティで「入力をシミュレート」のチェックを入れることです。 このチェックを入れている状態がこのアクティビティで一番早いキーボード入力をすることが可能な状態になります。 普段は人がキーボードを打っているような感じで文字が入っていくのですが、 このチェックが付いている場合は一瞬で全文字が入ります。 ※ちなみにもう一つ「ウィンドウメッセージを送信」というプロパティも入力方法を変更しますが、こちらは逆に一番遅くなります。デフォルトはどっちにもチェックが付いていません。 じゃあ全部「入力をシミュレート」だけでいいと思うかもしれませんが、 これにも一つ欠点があり対象によってはうまく動作しないことがあります。 具体的にはTabキーを押させたいときに「”k[tab]”」などの特殊な記載方法をしますが、 これがキーボードのキーとして認識されず、そのまま文字のk[tab]として打たれることがあります。 やっかいなことにちゃんと入力される部分(部品)もあれば、ちゃんとtabキーとして動作する部分もあるため、 先ほど説明した「検証が必要」という部分になります。 長文入力系処理の際にここがうまく動作すると、例えば1秒かかっていたものが0.5秒になるだけで、 遅延時間は件数×0.5秒となるわけですから、件数が多ければ多いほど見直す価値が出てくるということです。 2-2.クリップボードのコピー&ペーストで入力させる 2つ目の方法は「クリップボードに設定(Set To Clipboard)」アクティビティと、 「ホットキーを押下(send hotkey)」アクティビティを組み合わせる方法です。… Read More »

UiPathでEXCELの特定セルに自動で色を塗る

UiPathでEXCELの特定セルに自動で色を塗る ※2018.3よりUiPathがデフォルト日本語のアクティビティ名となりましたので、この記事では各アクティビティや機能名を日本語名(英語名)というように記載しています。 今回はEXCELの所定セルに自動で色を塗る作業を自動化していきましょう。 以前のバージョンではこういった作業に対応するアクティビティはなく、 一々EXCEL上で右クリック>セルの書式というように操作を記録させる必要がありました。 しかし、2018.3から追加された「範囲の色を設定(Set Range Color)」アクティビティを使うことで、 そう言った操作を行わずとも直接セルの色を変更することが可能になりました。 1.Excelアプリケーションスコープ(EXCEL Application Scope)アクティビティを追加する まずEXCEL系操作をする場合はこのアクティビティをセットし、対象となるEXCELファイルを決定します。 今回はSheet1に対して操作を行っていきます。 2.範囲の色を設定(Set Range Color)アクティビティを追加する 実行シーケンス内に範囲の色を設定(Set Range Color)アクティビティを追加します。 3.範囲の色を設定(Set Range Color)のプロパティでシート名とセル範囲を指定する 範囲の色を設定(Set Range Color)アクティビティを選択し、プロパティウィンドウでシート名(例だとSheet1)、セル範囲(A1:A2等)を指定します。 4.範囲の色を設定(Set Range Color)のプロパティで設定したい色を指定する 範囲の色を設定(Set Range Color)アクティビティを選択し、プロパティウィンドウで色を指定します。 ここで注意点として、設定はColor型のオブジェクトでしか行うことができません。 具体的には「color.」と入力欄に入力すると、下記のように候補が表示されます。 赤色なら「color.red」、緑色なら「color.green」、青色なら「color.blue」というような感じで指定すればOKです。 例としてcolor.greenを指定した実行結果が以下になります。 ※今あるセルの色を取りたい、という人はこちらを参考にしてください。      

UiPathでEXCELの特定セルの色を取得する

UiPathでEXCELの特定セルの色を取得する ※2018.3よりUiPathがデフォルト日本語のアクティビティ名となりましたので、この記事では各アクティビティや機能名を日本語名(英語名)というように記載しています。 今回はEXCELの所定セルの色を取得する方法を解説します。 これを使って取得した色は「範囲の色を設定(Set Range Color)」アクティビティ等で利用することができます。 1.Excelアプリケーションスコープ(EXCEL Application Scope)アクティビティを追加する まずEXCEL系操作をする場合はこのアクティビティをセットし、対象となるEXCELファイルを決定します。 今回はSheet1に対して操作を行っていきます。 2.セルの色を取得(Get Cell Color)アクティビティを追加する 実行シーケンス内にセルの色を取得(Get Cell Color)アクティビティを追加します。 3.セルの色を取得(Get Cell Color)プロパティで色を取得したいシート名とセルを指定する セルの色を取得(Get Cell Color)アクティビティを選択し、プロパティウィンドウでシート名(例だとSheet1)、セル範囲(A1:A2等)を指定します。 4.セルの色を取得(Get Cell Color)プロパティでColor型の変数を指定する 最後に取得した色の情報を格納するColor型の変数を指定します。Ctrl+Kもしくは右クリックメニューで変数を作成すると簡単です。    

UiPathで簡単にEXCELの全シート名を取得する方法

UiPathで簡単にEXCELの全シート名を取得する方法 ※2018.3よりUiPathがデフォルト日本語のアクティビティ名となりましたので、この記事では各アクティビティや機能名を日本語名(英語名)というように記載しています。 以前のバージョンのUiPathではEXCELブック内にあるシート名を取得したいとき、 .netのメソッドを使ったりすることで取得することができましが、 これはプログラム初心者には、難易度の高い作業でした。 しかし新しく日本語化されたEXCELアクティビティを使えば、 こんな作業もアクティビティだけで解決できます。 1.Excelアプリケーションスコープ(EXCEL Application Scope)アクティビティを追加する まずEXCEL系操作をする場合はこのアクティビティをセットし、対象となるEXCELファイルを決定します。 今回は5つのシート(あ・い・う・え・お)が入ったファイルを使います。 2.「ワークブックの全シートを取得」(Get Workbook Sheets)アクティビティを追加する 次に「実行」の中へワークブックの全シートを取得」(Get Workbook Sheets)アクティビティを追加します。 日本語だとズバリそのままの名前ですね。 3.「ワークブックの全シートを取得」(Get Workbook Sheets)プロパティで出力先の変数を指定する 「ワークブックの全シートを取得」(Get Workbook Sheets)アクティビティのプロパティに出力(output)がありますので、 そこの全シートのところに今回はCtrl+K(もしくは右クリックメニュー)で変数を作成しましょう。ここに必要な変数はList型なのでこの作り方が楽です。 今回はtestという名前の変数を指定しました。 4.出力用変数のスコープを変更する UiPathのよくある落とし穴、変数のスコープです。ここも何も考えずに作ると、Excelアプリケーションスコープ内の「実行」シーケンスでのみ使える変数になってしまいます。 変数タブから変数一覧を開き、先ほど作ったtestのスコープを「実行」からシーケンス(=シナリオ全体)に変更しましょう。 5.出力用変数を処理するための、繰り返し(コレクションの各要素)(For Each)アクティビティを追加する Excelアプリケーションスコープ(EXCEL Application Scope)の下に、繰り返し(コレクションの各要素)(For Each)アクティビティを追加しましょう。 アクティビティの名前が文章に近い感じでわかりづらいですが、これで複数の要素(=シート名が複数入っている)の変数を繰り返し一つずつ処理できます。 6.itemの格納元に先ほど作ったtest変数を指定する アクティビティの設定欄に先ほど出力先として指定したtest変数を指定します。 7.itemの中身を文字列にしてメッセージボックス(message box)に出力させる ちゃんとシート名が取れたかをメッセージボックスで確認しましょう。item変数は初期設定だとString型ではないので、.toStringを忘れずに 以上でシート名が全部取れました。これを応用して条件分岐の条件にすれば、複数シートを持っているブックから指定したシート名だけを処理したりなんてことも楽勝です。