/* * 1. 今回のキッカケ */
あるいいかげんな上司や先輩から、 下記のように簡単な機能概要と画面のラフ書きをもらいました。 目的:フォーム上にWebのデータを表示する。 ・URL を 入力することができるようにする。 ・出力するweb上のテーブルを選択可能とする ・出力するExcelシートを選択可能とする。 ↑オイオイ、これが要求仕様か?かんべんしてよ、目的と3行のみかよ。 ここから、お客さんのやりたいことを読み取るの? ※要求仕様のまとめ方もネタになりそうだけど、今回はパス。 画面イメージ: URL [ ________________________ ] ↑現在のURLを表示、入力修正後はそのページへ切り替える Webの画面を表示する。 ・ ・ ※ユーザーが自由にクリックしたりできる ・ Webの画面を表示する。 TABLE ブック シート [ ] [新規 ] [新規 ] [ ] [aaa.xls ] [ ] [ ] [bbb.xls ] [ ] [ ] [ccc.xls ] [ ] ↑リストボックス と選択可能とする。 _____________ |EXCELへ出力| ~~~~~~~~~~~~~/* * 2.こんなの設計じゃないよ 何が足りないか? */
さて、こんな紙切れ1枚渡されて、あなたはプログラムを作れますか? 作れないですよね。 設計者と製作者が一緒だから、頭の中でまとまってますが、 これが通常の開発で、設計と作成が違うと、まずいですよね。 私の中でわかってますが、読者やもしお願いする担当者にこれを渡しても ???だと思います。 何が足りないか? 全てです、出直して来い or オレも打ち合わせに同行させろ と言いたいですが、少し冷静になって、 細かい話をすると、 コントロールの名前 ~~~~~~~~~~~~~~~~~~ が 画面設計に無い。(名前ぐらい自由に付けたいといった担当者も居ますが) ^^^^^^^^^^^^^^^ ※コーディング規則が社内にある会社と無い会社によって違ったり、 先輩の趣味、自分のこだわりとか、これもネタになるんだけど。。。 コントロール名、日本語だけは止めてねと言われたことあったり。 私が日本語のコントロール名が好きな話は置いといて、 動作が不明、詳細が書いていない。 ^^^^^^^^^^^~~~~~~~~~ 言葉で少し説明があるが、動作イメージが書いていない、 これでは、処理が伝わっていないので目的と違うプログラムを作成してしまいます。 そこで、少し修正しました。 URL [ ________________________ ] (txtURL) ↑現在のURLを表示、入力修正後はそのページへ切り替える Webの画面を表示するエリア (AxWebBrowser1) ・ ・ ※ユーザーが自由にクリックしたりできる ・ Webの画面を表示する。 TABLE ブック シート [ ] [新規 ] [新規 ] [ ] [aaa.xls ] [ ] [ ] [bbb.xls ] [ ] [ ] [ccc.xls ] [ ] (lstWEBTABLE) (lstBOOK) (lstSHEETS) ↑リストボックス _____________ |EXCELへ出力| (btnTOEXCEL) ~~~~~~~~~~~~~ ()はコントロール名とします。 これで、使用するコントロールのイメージが画面に付きました。 次は、必要ないけど行数稼ぎでコントロール一覧を付けてもイイですね。 名称 種類 備考 txtURL テキストボックス AxWebBrowser1 WebBrowser IEのコントロール、別DLL参照 lstWEBTABLE リストボックス lstBOOK リストボックス lstSHEETS リストボックス btnTOEXCEL ボタン あまり、一覧とかこだわると、 じゃ文字表示にしか表示ラベルも一覧に載せるのか? と 極論を言われるけど、意味無いのは載せないでOKでしょう。 ※ラベルのコントロール名まで書いていたら、その先輩はある意味怖かったり。。。 一緒には仕事したくない、そんな細かさも時には必要だったりするんだけど。 次に、コントロールに対しての処理でしょう。 処理=イベント、タイミングと読み替えてもOKかなぁ。 ~~~~~~~~~~~~~~~~~~~~~~~~~~ フォームが読み込まれたら、初期ページを表示する 通常実際にコードは書かないけど、こんな感じで書いてあれば、 _Loadのイベントに、初期ページのコードを書けばいいんだぁ
Private Sub Form1_Load( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles MyBase.Load 'フォーム読み込みと同時に、初期ページを表示する Me.Me.AxWebBrowser1.GoHome() '初期ページに移動する End Sub |
ここまで、読んでいただきどうもです。ここから下は、三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、
気になったジャンル↓を選択してください。 人気記事(来場者が多いTOP3): Excel関係: Access関係: その他:VBAの共通関数やテキストファイルの操作など 開発時の操作: [F1を押してHELPを見る]/ [Debug.Print と イミディエイトウインドウ]/ [実行時エラーでデバッグ]/ [ウォッチ式とSTOP]/ [参照設定を行う] 仕様書(設計書?) XXXX書類: [基本設計書や要求仕様書]/ [テスト仕様書 テストデータ]/ [バグ票]/ [関数仕様書]/ [流れは 入力・処理・出力] ※↑文章の味付けが変わっていて、お口に合うかわかりませんが。。。 |
Blogとリンク:[三流君の作業日記]/
[VBAやASPのサンプルコード]/
広告-[通販人気商品の足跡]