■■===============【プログラムメールマガジン 色彩】===============■■■ 日本語プログラミング言語なでしこ&ひまわり、WEB開発環境葵情報マガジン ┏━━━━━━━━┓ ┃No5     ┗━━━━━━━━┛  5月といえばゴールデンウイーク!ゆっくり自宅で休んでいた方、  遊びに県外海外へ行った方など人それぞれ楽しめたのでしょうか。  ただ、五月病で学校や仕事が手に付かない人もいるのでは思いますが、  メールマガジンは今月も通常通り第5回を発行していきます。  では、今回のラインナップはこちらです。  【01】 Word/Excel/Powrpointとの連携 第5回 エクセルのバージョンを調べる   【02】 RPG感覚で「なでしこ本」を学習中  第5回  初心者でも、なでしこデラックス版を購入したほうが良いの?  【03】 なでしこの最新命令を使ってみよう 第4回 「管理者権限実行」  【04】 GUIマスターへの道 第5回 画像ボタン  【05】 ChocoのDB(データベース)を操作しましょうコーナー 第2回 テーブルと検索  【06】 ポ・イ・ン・ト 第5回 夏に向けて活動&準備 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┏━┓ ┃01  テーマ名:Word/Excel/Powrpointとの連携              ┃      第5回 エクセルのバージョンを調べる  執筆:粗茶 ┗━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ こんにちは。粗茶です。 Excelを中心に「なでしこ」で仕事を効率化するテクニックを紹介しています。 前回に引き続き、version 1.500652にて追加された、Excel関係の命令を解説します。 今回は「エクセルバージョン」命令について使い方をみてみましょう。 Excelがバージョンアップされる度に、機能追加や操作変更などの改良が施されています。 Excelのバージョンが異なれば、その挙動も微妙に異なってきます。 バージョンによって使用できる関数があったりなかったり・・・ 特に2007版へのバージョンアップは良くも悪くも大きな改革でした。 見た目の変更だけでなく、扱うことのできるデータ量が増え、 ファイル形式も「xls」から「xlsx」へと進化しました。 このため、「なでしこ」からExcelを操作する場合、こういったバージョンの違いも 考慮しなければならなくなったのです。 では、現在のExcelがどのバージョンか調べてみましょう。 //ここから ver[8]=「Excel97」 ver[9]=「Excel2000」 ver[10]=「Excel2002」 ver[11]=「Excel2003」 ver[12]=「Excel2007」 エクセル起動。 「バージョンは{ver[エクセルバージョン]}です。」を表示 エクセル終了。 //ここまで 「エクセルバージョン」命令は、Excelのバージョンを番号で取得して、 「それ」に値を返します。 書式:エクセルパージョン 必ず「エクセル起動」してから使用してください。 もちろん、Excelのバージョンは1〜7もありますが、 現実的ではありませんので、8以上で充分でしょう。 こうして使用しているExcelのバージョンが判明すれば、 それぞれに対応したプログラムを組めば良いでしょう。 たとえば、ファイルを保存するときに、Excel2007とその他のバージョンで ファイル名を変えるプログラムは次のようになります。 //ここから ファイル名は「test.xls」 エクセル起動してエクセル新規ブック。 もしエクセルバージョンが12ならば   ファイル名=ファイル名&「x」 デスクトップ&ファイル名へエクセル保存。 エクセル終了して終了。 //ここまで また、使用するExcelファイルが特定のバージョンにのみ限定したいならば ファイルを開く前にExcelのバージョンを調べて、条件に合わなければ 終了するというプログラムも考えられますね。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┏━┓ ┃02  テーマ名: RPG感覚で「なでしこ本」を学習中 ┃ 第5回  初心者でも、なでしこデラックス版を購入したほうが良いの? ┃                           執筆:matumatu ┗━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.初心者でも、なでしこデラックス版を購入したほうが良いの?   → 購入したほうが良いと思います。     理由は、下記のとおりです。    (私がデラックス版を購入した時の購入動機順に理由を書きました)     @ 今なら、なでしこユーザーズ・マニュアルがプレゼントされます。       通常版 10,500円(税込) − ユーザー本 3,650円(送料・税込)       = 6,850円に実質的に値下げされています。       学生優待割引を使うと、3,150円(税込)で購入できます。       ただし、この場合は、なでしこユーザーズ・マニュアルは、       プレゼントされません。     A フリー版より、機能が豊富です。       ただし、私は購入したばかりで、まだデラックス版専用の       機能をまだ使っていません。     B なでしこの開発者を応援するためには、フリーソフト       をある程度使用して満足したら、シェアウェアー感覚で       デラックス版は有料でもしかたがないと思います。 2.初心者が、なでしこデラックス版について勘違いしそうな点   私の経験のみですが、購入するまで勘違いしていた点をまとめました。   @ デラックス版とフリー版は、完全に別ソフトと思っていた。     → 実際は、同一のソフトで、ライセンスキーを入力すると、       デラックス版の機能も使用可能になった。   A デラックス版の入手は、ベクターからダウンロードし、     フリー版の入手は、なでしこHPからダウンロードすると思っていた。     → 実際は、同一のソフトなので、なでしこHPから       フリー版をダウンロードし、ライセンスキーを入力して       デラックス版にすると、常に最新のなでしこが使用できます。 3.現在の、なでしこ本学習レベル判定結果   ・ 「 RPGレベル判定9.nako 」は、現在Ver 0.9     で進化が止まっています。   ・ 学習レベルの判定機能と、日記作成支援機能を兼ねています。   ・ 下記は、日記作成支援機能で、自動的に作成されたデーター     を少し加工したもので、はてな記法で出力しています。     * 学習レベルを判定した結果 LV = 5: HP = 30 : MP = 500     - 完了予想日数 = 427 → 473 悪化     --完了予想年月日 = 2009/06/22 → 2009/08/26 悪化     --- はてなカウンター値 = 46821     ----学習開始日から本日までの日数 =178日   ☆★ サイト:http://nadesiko.g.hatena.ne.jp/matumatuh18/   ■□ はてなキーワード = なでしこ本学習レベル判定 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┏━┓ ┃03  テーマ名:なでしこの最新命令を使ってみよう ┃      第4回 「管理者権限実行」      執筆:クジラ飛行机 ┗━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ クジラ飛行机です。 このコーナーでは、毎回、最近なでしこに実装された面白い命令を紹介します。 皆さんに「使ってみたい!」と思ってもらえれば幸いです。 今回、紹介するのは「管理者権限実行」命令です。 Windows Vista になって、UACの仕組みが導入されました。 UACを有効にしていると、レジストリの書き込みやシステムディレクトリへの ファイルコピーなどが制限されるようになりました。 これらの動作を行うためには、管理者権限を明示して、実行ファイルを 実行する必要があります。これを行うのが「管理者権限実行」です。 この命令でプログラムを実行すると、管理者権限のダイアログを表示し、 管理者権限でプログラムを実行できます。 以下のプログラムは、レジストリを操作するプログラム 「write-registry.nako」を管理者権限で実行する例です。 {{{ 自作プログラム=「write-registry.nako」 「"{ランタイムパス}vnako.nako" "{自作プログラム}"」を管理者権限実行。 }}} また、なでしこエディタの設定メニューにも「実行に管理者権限をつける」と いう項目が追加されています。 Windows Vista を使う時には、覚えておくと便利です。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┏━┓ ┃04  テーマ名:GUIマスターへの道  ┃      第5回 画像ボタン        執筆:はやしま ┗━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ なでしこは、GUIベースのアプリが簡単に書けることも大きな魅力のひとつです が、マスターするのはなかなか大変です。 このコーナーでは、GUI部品の説明を、GUI部品を習得するためのコツも含めご紹 介したいと思います。基本姿勢は、「習うより慣れろ!」です。 今回のテーマは、「画像ボタン」です。 これは、ボタン部品に画像を表示させることができるGUI部品です。 画像に、表示させたい画像ファイルを指定することで、画像を表示させることが 可能です。 #--------+---------+---------+---------+---------+---------+ サンプル画像ボタンとは画像ボタン # 1 そのテキストは「なでしこ」 # 2 その幅は250 # 3 その高さは130 # 4 そのフラットはオン # 5 その画像は「nadesiko.png」 # 6 #--------+---------+---------+---------+---------+---------+ 1行目 「サンプル画像ボタン」という画像ボタンを作成します。 2行目 ボタンに「なでしこ」というテキストを表示します。画像ボタンには、画像と一 緒にテキストを表示することも可能です。 5行目 フラットをオンにすると、ボタンの輪郭がなくなります。 ボタンの輪郭が必要なときはオフにしましょう。 6行目 ボタンに表示する画像を指定しています。 画像が表示できる以外は、ボタンと大体同じです。 今回は、ここまでです。それでは、また次回。 ━[PR]━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ なでしこを学習するなら・・・なでしこ学習帳@はてな http://nadesiko.g.hatena.ne.jp/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┏━┓ ┃05  テーマ名:★ChocoのDB(データベース)を操作しましょうコーナー★               ┃      第1回 テーブルと検索      執筆:Choco ┗━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ なでしこで単にデータベースに情報を登録するだけでなく、その情報をとりまとめたり、 素早く取り出したりする事で様々な業務に役立つシーンもあります。 今回は、主にテーブルの作成方法と様々な検索についてお話したいと思います。 ■Part1:PostgreSQLのテーブル調整■ 前回は、「CREATE TABLE post (DAY TEXT,Name TEXT,Age TEXT);」をSQL実行 #ここで登録用の「post」テーブルを作成しました。 しかし、これでは各項目は全てテキスト項目となってしまい項目に入っている値を 計算に使う事すらできません。 では、どうすればよいのか? それをこれから学んで行きましょう。 1.KEYの作成 通常のデータベースは、データを登録する時に自動的に連番を作成する事が出来ます。 PostgreSQLでは、「serial primary key」を使う事によって連番を自動的に生成する フィールドを作成できます。 2.項目毎のフィールド設定 次に各フィールドの特性を考えてみましょう。 「DAY」フィールドには日付が入ります。 よって、この項目は日付専用にしてしまいましょう。 PostgreSQLでは「DATE」と言う日付タイプがあります。 「Age」フィールドには年齢が入ります。 よって、この項目には整数が入ります。 間違ってもマイナスは入りませんので(笑) PostgreSQLでは「SMALLINT」と言う数値タイプがあります。 これらをまとめて、前回同様にテーブルを作成、登録してみましょう。 #ここから------------------------------------------------------------------- PDATAとは配列 接続文字列は「test」 #ここはデータソース名です。 接続文字列でADO開く。 「CREATE TABLE post2 (T_ID serial primary key,DAY DATE,Name TEXT,Age SMALLINT);」をSQL実行 #ここで登録用の「post2」テーブルを作成します。 「INSERT INTO post2 (DAY,Name,Age) values ('2007/2/14','choco',20);」をSQL実行 #データを登録します。 「SELECT * from post2;」をSQL実行 #登録されたデータを読み込みます。 PDATAはDB結果全部取得#上で読込んだデータを変数「PDATA」に読込みます。 DB閉じる。 PDATAを言う。 終わる。 #ここまで------------------------------------------------------------------ 如何ですか? 上記のプログラムを「なでしこ」上で実行すると、連番が自動的に振りつけられているはずです。 「CREATE TABLE post2 (T_ID serial primary key,DAY DATE,Name TEXT,Age SMALLINT);」を コメントしてから実行すると、何度でも上記のプログラムは実行できます。 その度に連番がカウントされて行き、最初は1、その次は2と言う様に増えて行きます。 下記のプログラムを一度実行して見て下さい。 #ここから------------------------------------------------------------------ PDATAとは配列 接続文字列は「test」 #ここはデータソース名です。 接続文字列でADO開く。 「INSERT INTO post2 (DAY,Name,Age) values ('2007/2/15','taro',30);」をSQL実行 #データを登録します。 「SELECT * from post2;」をSQL実行 #登録されたデータを読み込みます。 PDATAはDB結果全部取得 #上で読込んだデータを変数「PDATA」に読込みます。 DB閉じる。 PDATAを言う。 終わる。 #ここまで----------------------------------------------------------------- #◆改修TOPIC◆ いつもデータが存在するとは限りません。 日付だけだったり、名前だけだったり・・・ PostgreSQLの場合ですが、空のデータを登録する時には以下の注意が必要です。 1.対象フィールドでNULLを許容する。 2.INSERT構文で「NULL」定数を使います。 3.整数フィールドでは「NULL」を許容しない場合がありますので、   その場合は強制的に「0」を入れてやる。 #◆ここまで◆ ■Part2:PostgreSQLのテーブルを検索する■ 実際にデータを登録すると、今度はそれを検索しますよね? 基本的な方法について説明しておきます。 1.完全一致検索 これは文字通り、完全に一致するものだけを検索する方法です。 名前で言うと、「choco」を検索してみましょう。 #ここから----------------------------------------------------------------- PDATAとは配列 接続文字列は「test」 接続文字列でADO開く 「SELECT * FROM post2 where name = 'choco';」をSQL実行 DB結果全部取得 それをPDATAに追加 DB閉じる。 PDATAを言う。 終わる。 #ここまで---------------------------------------------------------------- #◆改修TOPIC◆ 表示させる時に並び替えをしてみたい時が多々あると思います。 そんな時は【order by】を使って見ましょう。 whereで表示させたいデータKEYを指定した後で、並び換えのKEYを 指定してやると、そのKEYで並び替えをしてくれます。 「SELECT * FROM post2 where name = 'choco' order by Age;」をSQL実行 このSQL文ですと、名前にchocoと言う人を抽出してから、年齢でソートしてますね。 #◆ここまで◆ 2.あいまい検索 検索する時に、完全に検索したい文字列がわかっている時は問題ありませんが、 一部だけしかわからない時もありますよね? そういった時に、「あいまい検索」を使います。 使い方は、「like」と「%」を利用します。 #ここから--------------------------------------------------------------- PDATAとは配列 接続文字列は「test」 接続文字列でADO開く 「SELECT * FROM post2 where Name like 'cho%';」をSQL実行 DB結果全部取得 それをPDATAに追加 DB閉じる。 PDATAを言う。 終わる。 #ここまで-------------------------------------------------------------- ■Part3:PostgreSQLのテーブル内容を削除する■ たまったデータは、必要に応じて削除する時もあります。 そんな時に便利な「DELETE」です。 #ここから-------------------------------------------------------------- PDATAとは配列 接続文字列は「test」 接続文字列でADO開く 「DELETE FROM post2;」をSQL実行 DB結果全部取得 それをPDATAに追加 DB閉じる。 PDATAを言う。 終わる。 #ここまで-------------------------------------------------------------- #◆改修TOPIC◆ 実際にテーブルごと消去するよりは、1データだけを消去したい場合もありますよね? その場合は、SELECT文と同様にwhere文で消去したいデータを指定してやります。 30歳の人だけを消去するなら、こんな感じです。 「DELETE FROM post2 where Age = '30';」をSQL実行 #◆ここまで◆ 如何ですか? 見事にデータが消えましたね。 これで基本のSQLの勉強は終わりです。 次回からは、画面を作成してアプリケーションを作成してみましょう。 それでは、また来月お会いしましょう! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┏━┓ ┃06  テーマ名:ポ・イ・ン・ト ┃      第5回 夏に向けて活動&準備  執筆:EZMAVI.net ┗━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ どうも、EZNAVI.netです。 だんだん季節は夏に近づいてきていますが、皆さん活動的になるのではないでしょう。 日本語プログラミング言語なでしこについても展示会やコンテストなど積極的 に紹介していきます。 【 展示会 】IPAX2008  5/27-28に東京ドームシティ・プリズムホールで、日本語プログラミング言語  なでしこのブース展示を行います。   *平日ということもあり、企業の方などが中心となるかと思います。   > 会場場所 <   http://www.tokyo-dome.co.jp/prism/ 【 コンテスト 】ThinkQuest JAPAN 2009  中・高等学校向けのWeb教材(マニュアル)開発コンテストが開催されます。  なでしこのユーザーの方には学生の方も多くおり、なでしこWIKIマニュアル  でもたくさんの方が参加しております。  ぜひ、興味のある方は参加してみてはいかがでしょうか。   > 特設サイト <   http://contest.himanavi.net/think-quest/   また、今後他にもコンテスト実施予定があり詳細が決まり次第紹介していきます。  最近、健康のためスポーツを行っているのですが、天気の良い日は日差しが強く 日焼けになってしまいます。また、この前ですが去年の東京(夏)で朝4時30分頃 には30℃を超えた日があったという事をこの前を聞いたのですが、夏に向けて 紫外線などの天気をこまめにチェックしていかなければと思ったりしています。   ナデシコバージョンを表示  なでしこも天気予報みたいに毎日更新とはいきませんが、月1回程度で更新されて いるのでこまめに公式サイトでの最新情報&バージョンチェックを忘れずに!。 ではまた、来月をお楽しみ。 ■■===============【プログラムメールマガジン 色彩】===============■■■   ・ メールマガジン登録・解除はこちら (http://mm.himanavi.net/)