メニュー

logo

カチシステムはお客様に寄り添った
システム開発と支援サービスを提供し
「やさしい最先端」を創造します。

【第93回】ロータス博士のWinActor塾~文字列分割とループの小技 出題編

2023.05.01

よし!今回は気合を入れて、シナリオを作っていこう!

そういえば最近作ってませんでしたね。

どんなのをやるんです?さすがの僕も結構レベルアップしてますよ。

ふっふっふ・・・今回のはちょっと難しいぞ。

文字列分割を駆使して配列のようにループ内でデータを扱うのじゃ。

もう難しそう。僕これから体調不良の予定なので帰りますね!

こら、予定ってなんじゃ。お主の回路壊れとるんか。

何事もチャレンジ!今日は出題編じゃから、お題と必要なデータを出していくぞ。

ついてくるのじゃ!

ひえー、いつにも増してやる気満々だ・・・。

RoTASテストフォーム

という訳で、操作画面としてこんなものを用意したぞ。

RoTASテストフォーム

まずは下記のリンクからエクセルファイルをダウンロードしましょう。

 

Excelをダウンロード(22KB)

 

※このファイルはマクロ有効ブック(.xlsm)となっています。

 実行時に警告が出る場合がありますが開いても問題ありません。

 

ファイルを開くと、次のようなシートが開きます。

シートには「フォーム起動」というボタンがあります。

 

 

マクロの警告が出た方は「コンテンツの有効化」をクリックしてください。

 

 

「フォーム起動」ボタンを押すと新しい画面が現れます。

 

 

このフォーム画面には「前」と「次」の2つのボタンがあります。

起動時は中央のテキストボックスに”りんご”と表示されていますが「前」もしくは「次」ボタンを押すことで表示項目が変わります。試しに「次」ボタンを押すと、テキストボックスの内容が”オレンジ”になりました。

 

 

現在表示されている項目の前(または次)にデータが存在しない場合はボタンを押してもテキストボックスに変化はありません。ただし、最後の項目が表示されているときに「次」ボタンを押すと、下部にメッセージが表示されます。

 

 

これが今回データ取得先として使用するフォーム画面の動きとなります。

このテキストボックスに表示された文字列を全てExcelに転記するのが今回の課題です。

え、そんなことでいいの?

博士が難しいっていうからもっと複雑なものかと思ったのに。

ただ転記するだけでは簡単じゃろうな。

じゃが転記するにあたっての条件があるのじゃ。

うわー出た。一体どんな条件を・・・。

課題はこちらじゃ。ドン!

次の条件を満たすシナリオを作成しよう

RoTASテストフォームを開いて全てのデータを取得し、Excelシートに転記するシナリオを作成してください。

 

満たすべき条件

・テキストボックスに表示される項目数が変わっても動くように作成すること

・1次元配列操作ライブラリを使用しないこと

・フォームからデータを全て取得してからExcelシートに書き込みを行うこと

条件はこの3つじゃ。

項目数の可変に対応するのはまあなんとかするとして

今回のポイントは赤字のほうじゃな。

え、これかなり難しくないですか?

データ全部取ってからって・・・。項目の数だけ変数用意するとか?

項目数が可変じゃから、変数を先にたくさん作るのは悪手じゃのう。

ああ、じゃあ終わりだ。

どうしたらいいんですか?

ヒントはやはり配列の考え方じゃな。

あとはタイトルにある通り、文字列分割をうまく使うのじゃ。

 

作成のヒント

博士の言う通り、文字列分割をうまく使うのがポイントです。

ひとつの変数に配列のようにデータを格納する方法を考えましょう。一度皆さんで方法を探ってみてください。

次回の解答編でその方法をご紹介します。

 

配列の考え方、文字列操作については以下の記事を参考にしてください。

 

 

「1次元配列操作ライブラリを使用しないこと」もある意味ヒントになっておる。

逆に言うとこのライブラリを使えば簡単に作れてしまうからのう。

うーん、つまり1次元配列のライブラリではなく文字列操作を使って

1次元配列のような動きを作るってことですかね・・・?

そう!そういうことじゃよ!冴えとるのう。

ちなみに先に言っておくが、今回のこれは小技の紹介じゃからな。ぶっちゃけできなくても

1次元配列が使えればこの条件のシナリオなんてすぐに作れるぞ。

 

実行例

次のように全ての項目がシートに転記できれば完成です。

転記は1つずつではなく、1度に全てのデータを取得した後に書き込みを行いましょう。

 

というわけで、次回の解答編を待つのじゃ!

是非、脳トレだと思ってチャレンジしてみてほしいぞ。

これは博士からの挑戦状。

絶対やってやりますよ!

やる気があるのは良いことじゃ!今日は真面目じゃのう。

前回頭のアンテナで回転していたとは思えん。

あ、思い出した。

そういえば前回僕のこと短足って

それではまた次回!

関連記事こちらの記事も合わせてどうぞ。

最近の記事

カテゴリ

PAGETOP