Excelマクロ・VBA達人養成塾 小川です。
ここ数日のお話の続きです。
3日前のブログ: 「VBのSelect CaseとPHPのSwitchでの書き方の違い」
一昨日のブログ: 「Select Caseでの複雑な処理をシンプルにしたい – Excelマクロ・VBA」
昨日のブログ: 「Select Caseでの複雑な処理をシンプルにしたい(その2) – Excelマクロ・VBA」
ということで、タイムトライアル第5弾。
サーバ内にあるプログラムが、10分ごとに以下の処理を行う。
[1] そのときの時刻の、時間を調べる
[2] そのときの時刻が0分台、10分台、…、50分台のいずれかを調べる
[3] [1], [2] の値を元に、 “9_5” といった文字列を作る(アンダースコア区切り)
[4] PHPのSwith文で、テンプレートを指定する
[5] 指定されたテンプレートの文章を、指定されたメールアドレスに送信する
…って。
僕が作った、いい言葉とか、日々心がけるべきことをリマインド用に自動配信してくれるプログラムのロジックそのものなのですが (^^;
その、Switch文の箇所だけを以下に掲載する。
switch($v . '_'.$s) {
case '12_3':
case '18_3':
case '21_3':
$filepath='5minutes.cgi';break;
case '6_2':
case '20_2':
case '23_2':
$filepath='alexander.cgi';break;
case '7_1':
case '10_1':
case '22_1':
$filepath='arayuru.cgi';break;
case '6_5':
case '10_5':
$filepath='digital.cgi';break;
case '2_4':
case '5_3':
case '8_4':
$filepath='feeling.cgi';break;
case '0_2':
case '2_2':
case '4_4':
$filepath='higherselfgoroku.cgi';break;
case '0_3':
case '21_0':
$filepath='houshin.cgi';break;
case '2_0':
case '3_0':
$filepath='';break;
}
(本当はもっといろいろ登録してあるけど、一部抜粋)
さて、ここで今日の課題。
以下の作業をするエクセルVBAのプログラムを作れ。
[1] このリストを解析して、何時の何分台にどのテンプレートのメールを送るかを一覧するエクセル表を作る
[2] [1]で作った表を元に、上記と同様のSwitch文を自動生成する。
僕の手元にあるプログラムではありますが。
あとで、僕もトライしてみます。(今日はちょっと忙しいので、たぶん明日以降)
例によって、8月31日までにトライしてご報告いただいた方には、僕かトライした様子をそのままキャプチャーした動画をさしあげます。
ご報告にあたっては、「やってみたけど、途中で挫折した」とか、そういうのでもOKですよ。
今回のシリーズの5個の課題をすべてやれば、文字列操作にはかなり慣れるかと思います (^^
それでは ヾ(´ー`)ノ