2008年5月アーカイブ

YAPC::Asia2008でのMichael Schwernさんの提言を受けて、Perl-users.jpという素晴らしいサイトが立ち上がりました。

Perlコミュニティの方々の熱意に心から敬意を表します。

Perl-users.jpへのお願い

Perl初心者を代弁してお願いがあります。

Perl初心者の現実をもっと知ってほしい。
Perl初心者はプログラム初心者であることを知ってほしい。
Perlをもっともっと普及させるために、以下の認識をもってほしい。
(特に、Perl上級者はPerl初心者の現実をご存知ないので、以下の認識が欠けているのではないでしょうか)

Perl初心者の現実

  1. Perl初心者は、かなりの割合でプログラム初心者です。
  2. Perl初心者は、かなりの割合でLinuxを触ったことがありません。
  3. Perl初心者は、かなりの割合でWindowsしか知りません。
  4. Perl初心者は、かなりの割合でPerlはPHPより難しいという迷信を信じています。
  5. Perl初心者は、かなりの割合で"use strict"の意味がわかりません。
  6. Perl初心者は、かなりの割合でコマンドプロンプトやシェルの使い方を知りません。
  7. 従って、「perldocでPerlの説明書が見れる」というアドバイスは、Perl初心者にとっては何のアドバイスにもなりません。
  8. Perl初心者は、かなりの割合でCPANの存在を知りません。
  9. Perl初心者は、かなりの割合でPerlとCGIは同じものだと思っています。
  10. Perl初心者は、かなりの割合で"Perl=CGI だからPerlは遅い"と誤解しています。
  11. Perl初心者は、かなりの割合でLinuxの%と#の違いがわかりません。
  12. Perl初心者は、かなりの割合で"#!/usr/bin/perl"の意味がわかりません。
  13. Perl初心者は、かなりの割合でPerlのエラーは"Internal Server Error"としか表示されないから、デバグが難しいと思っています。
  14. Perl初心者は、かなりの割合でCGI::Carp qw(fatalsToBrowser)の存在を知りません。
  15. Perl初心者は、かなりの割合でCGI.pmの存在を知りません。
  16. Perl初心者は、かなりの割合でPerlはオブジェクト指向でないからダメだと思い込んでいます。
  17. Perl初心者は、かなりの割合で、mixiやはてなやモバゲータウンやライブドアのサービスがPerlで作られていることを知りません。

Perl上級者にとっては、まさに噴飯ものでしょう。
しかしこれがPerl初心者の現実なのです。

こいういう(Perl上級者から見て)どうしようもないPerl初級者の誤解を解くことが、Perlを普及させる上で最も重要なことだと思います。
現在の日本においてPHPがWeb製作の現場でかなりのシェアを誇っているのは、まさに上記の誤解に起因するところが大きいと思います。

Perlをもっともっと普及させるためには、Perlの普及を妨げているものが何であるか、Perl初心者にとっての障壁が何であるか、もっと調査研究が必要であると思います。

マクロを使ってCSVでファイル保存をしたときなどに、下記のような確認・警告メッセージがでて、いちいち「はい」を押さないと先に進まないことがあります。

エクセルシートをタブ区切りtxt形式でエクスポートするマクロ。
書き方は前回の記事(CSVで保存)とほぼ同じです。

エクセルシートをCSV形式でエクスポートするマクロ。

前回でもちょこっと紹介しましたが、AccessのSQL (いわゆるJet SQL)で 1→001 に変換する方法を紹介します。

日付(年月日)から曜日を割り出すというよくあるTipsです。

以下、"2008/05/24"という文字列から曜日を割り出す方法。

var d = new Date("2008/05/24");
var w = ["日","月","火","水","木","金","土"];
alert( w[d.getDay()] );

実行結果
js-week.JPG

ツェラーの公式を使ってやるのかと思った調べたら、日付オブジェクトの組み込み関数でできました。
便利ですね♪

ついにやり方を発見!!
WSHでDBプログラムが書けるなんて夢のようです。

やり方


以下のファイルを作って、同じフォルダに置く。

  1. MDBファイル

  2. JSファイル


Accessで、数値の"1"を文字列の"001"に変換する方法を紹介します。
専門的にはゼロ埋め、ゼロパディングなどと言います。

access-query.JPG前回に続き、WSH(VBS)からAccessのクエリ(削除クエリや更新クエリ)を実行する方法を紹介します。





←実行したいアクションクエリ




access-query.JPGExcel VBAからAccessのクエリ(削除クエリや更新クエリ)を実行したい場合があります。
その場合も、前回の記事と同様にADOを使うと簡単に実現できます。

←実行したいアクションクエリ

PowerPoint VBAの使い方

パワーポイントで、文字がテキストボックスからはみ出しているときに、強制的にフォントサイズを小さくしてボックス内に収めたいことがあります。

VBAでゼロパディング(1→001に変換するやつ)のやり方を紹介します。
Excel, Access, Powerpoint等、Office製品の全てで共通に使えます。

1 を 001に変換してみる

Sub test()
MsgBox Right(1 + 10 ^ 3, 3)
End Sub

Excelで、1という数字を"001"という文字列に変換したいことがよくあります。
専門的には、ゼロ埋めとかゼロパディングとか言います。
上記のように書くと、「それってAccessのエクスポート機能を使えばいいじゃん」と思われるかもしれません。
たしかにAccessを開いて、テーブルやクエリをエクセル形式でエクスポートするやり方もあります。

しかし、Excelファイルを開いた上で、そこからAccessのデータを取りに行くというのが必要なときもあります。

人気記事

このアーカイブについて

このページには、2008年5月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2008年4月です。

次のアーカイブは2008年6月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近の人気記事