ホチキス先生

プログラマーと呼ばれたい

SQLJP ブログ ホーム 連絡をする RSS ATOM Login
  295 投稿数 :: 45 ストーリー :: 239 コメント :: 54 トラックバック

ニュース

過去の記事

カテゴリ

イメージギャラリ

カルトゾーン

まつもとよしお

2010年7月19日 #

エクセルのシート上に作成したオートシェイプは番号がついているが、番号ではなく、オートシェイプに名前を付けて区別することもできる。例えばこんな具合だ。

Sub smaile()
ActiveSheet.Shapes.AddShape msoShapeSmileyFace, 10, 20, 100, 100
ActiveSheet.Shapes.AddShape msoShapeSmileyFace, 120, 20, 100, 100
ActiveSheet.Shapes(1).Name = "taro"
ActiveSheet.Shapes(2).Name = "hanako"
Sheet1.Shapes("taro").IncrementRotation (-20)
Sheet1.Shapes("hanako").IncrementRotation (20)
Sheet1.Shapes("taro").Adjustments.Item(1) = 0.5
Sheet1.Shapes("hanako").Width = 160
Sheet1.Shapes("hanako").Height = 160
End Sub

excel_macro_002 
(Fig.1 オートシェイプを2つ作成し名前を付けて角度や変形、大きさを変えた)

ここでは作成した2つのオートシェイプに「taro」と「hanako」という名前をつけている。「taro」に操作をするときはShapes("taro")、「hanako」に操作をするときはShapes("hanako")と記述して区別できる。ここでは「taro」を左に20度(つまり右に-20度)回転、変形を0.5、「hanako」は右に20度回転、幅と高さを160に拡大している。

posted @ 10:07 | Feedback (0)

エクセルのシート上に作成されたオートシェイプは連番で管理されている。たとえば次のようなマクロを作って実行する。結果はこんな具合だ。

Sub smaile()
ActiveSheet.Shapes.AddShape msoShapeSmileyFace, 10, 20, 100, 100
ActiveSheet.Shapes.AddShape msoShapeSmileyFace, 120, 20, 100, 100
Sheet1.Shapes(1).IncrementRotation (-10)
Sheet1.Shapes(2).IncrementRotation (10)
Sheet1.Shapes(1).Adjustments.Item(1) = 0.5
End Sub

excel_macro_001 
(Fig.1 マクロによって作成した2つのオートシェイプ)

ここでは2つのオートシェイプを作っているが、それぞれ作成された順番でShapes(1)、Shapes(2)という連番で管理されている。最初に作成したオートシェイプは図の左側のもので、こちらはShapes(1)、次に作成したオートシェイプが右側で、Shapes(2)である。Shapes(1)を左に10度(つまりマイナス10度)回転させ、Shapes(2)を右に10度回転させる、そして右側のShapes(1)については、Adjustment.Itemの値を変えて変形している。

posted @ 10:05 | Feedback (0)

あることを思い立ち、エクセルのマクロで作ってみたものがある。そのため、図形を操作するマクロについて調べている。

エクセルのマクロは習得が簡単だ。その理由のひとつに「マクロの記録」がある。マクロで自動化したい操作を「マクロの記録」を実行してマウスやキーボードで操作すると、その操作がマクロとなって記録される。これはいわばユーザーの操作を記録しているわけで、このマクロを分析し加工すれば思いのままに操作を自動化できる。

例えばMicrosoft Excel 2003でオートシェイプを作り、形を変化させ、回転する、という操作をマクロに記録すると、次のようなマクロができる。

------------------------------------------------------------------------------------------------------------------

Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 7/19/2010? ユーザー名 :
'

'
??? ActiveSheet.Shapes.AddShape(msoShapeRoundedRectangle, 124.5, 87.75, 126.75, 53.25).Select
??? Selection.ShapeRange.Adjustments.Item(1) = 0.5
??? Selection.ShapeRange.IncrementRotation 35.28
End Sub

------------------------------------------------------------------------------------------------------------------

ActiveSheet.Shapes.AddShape()によってシートにオートシェイプが作られる。()の中には5つの引数があり、最初のmsoShapeRoundedRectangleがオートシェイプの種類、続く4つの数字はオートシェイプの大きさと位置を決めている。これらの数値を変更したマクロを作り実行すると、引数は「オートシェイプの種類、横の位置、縦の位置、横の大きさ、縦の大きさ」であることがわかる。

Selection.ShapeRange.Adjustments.Item()はオートシェイプの変形だ。オートシェイプの中には黄色の菱形アンカーポイントを持つものがあり、変形することができる。

Selection.ShapeRange.IncrementRotationはオートシェイプの回転であり、右回りの回転角度で指定する。右回りに90度回転させるなら値は「90」だ。

ここで自動的に作成されたマクロでオートシェイプを作ることができるが、より実際的にオートシェイプを操作するためには、次のように書くこともできる。

●オートシェイプを作成する

ActiveSheet.Shapes.AddShape msoShapeRoundedRectangle, 10, 20, 50, 60

●作成したオートシェイプを右に5度回転させる

Sheet1.Shapes(1).IncrementRotation (5)

●作成したオートシェイプの横の大きさを100に変える

Sheet1.Shapes(1).Width = 100

●作成したオートシェイプの塗りを半透明化する

Sheet1.Shapes(1).Fill.Transparency = 0.5

●作成したオートシェイプの変形を0.5にする

Sheet1.Shapes(4).Adjustments.Item(1) = 0.5

posted @ 10:01 | Feedback (2)

2010年6月15日 #

日付に関するユーザー定義関数を作った。この関数を作った目的は、今年度の範囲で処理をする場面が多かったので、「今年度の最初の日」と「今年度の最後の日」を知るユーザー定義関数を作ろうと思ったためだ。例えば日付が「2010年6月15日」だと、この日に対して「今年度最初の日」は「2010年4月1日」であり、「今年度最後の日」は「2011年3月31日」である。

2010年であっても、4月1日以前は前年度である。日付が「2010年3月15日」だと、この日に対して「今年度最初の日」は「2009年4月1日」であり、「今年度最後の日」は「2010年3月31日」なのだ。

そこでこの関数の中では、まず「日付」に対して「年度」を求めている。「年度」さえ判定できれば、その年の4月1日が「今年度最初の日」であり、次の年の3月31日が「今年度最後の日」である。

使い方は、select dbo.fx日付('2010/06/15','年度最初日')、のようにする。最初の引数が日付で、次の引数がパラメーターだ。パラメーターは「年度最初日」と「年度最後日」を実装しているが、これも拡張可能である。日付に関するいろいろな処理を一括してこの関数に盛り込もうと思ったので、パラメーターによって拡張可能にしている。

また、今日の日付で「今年度の最初の日」を求めたいなら、select dbo.fx日付(getdate(),'年度最初日')、にすることもできる。

-------------------------------------------------------------------------------------------------------

create function [dbo].[fx日付]
 (
 @P_日付 smalldatetime,
 @p_パラメータ varchar(10)
 )
returns smalldatetime
as
begin

declare @thisnendo int
declare @thisyear41 smalldatetime

/*年度の取得*/
set @thisyear41 = cast(cast(datepart(year,@p_日付) as varchar) + '/' +'4/1' as smalldatetime)
if @p_日付 >= @thisyear41
 begin
  set @thisnendo = datepart(year,@p_日付)
 end
if @p_日付 < @thisyear41
 begin
  set @thisnendo = datepart(year,@p_日付)-1
 end

/*今年度最初の日を求める*/
if @P_パラメータ = '年度最初日'
 begin
  return cast(cast(@thisnendo as varchar) + '/' +'4/1' as smalldatetime)
 end

/*今年度最後の日を求める*/
if @P_パラメータ = '年度最後日'
 begin
  return cast(cast((@thisnendo + 1) as varchar) + '/' +'3/31' as smalldatetime)
 end
return null
end

posted @ 0:10 | Feedback (1)

2010年6月14日 #

システムを作っていくと、多くの場所で同じ処理をすることに気づく。例えば生徒の基本情報を記録する「生徒」テーブルには、生徒の氏名を「姓」と「名」のフィールドで記録している。しかし帳票では「姓+名」で表示をしたいので、至る所で「姓+' '+名」のような処理をすることになる。このような似たような処理はユーザー定義関数を作っておくとよい。

ここでは生徒基本情報である「生徒」テーブルから、学籍番号をキーにして生徒の情報を関数で取り出すものを作ってみた。

使い方はこうだ。生徒の姓名が欲しいときには「select dbo.fx生徒('1234567','姓名')」のようにする。最初の引数が学籍番号で、次の引数はパラメータだ。性別を知りたいときは「select dbo.fx生徒('1234567','性別')」のようにする。関数の作りは簡単で、パラメータによってif文で条件分岐しているだけである。

この関数はパラメーターを増やすと改正可能である。増やす分には既に作ったクエリやストアドプロシージャに影響を与えない。

------------------------------------------------------------------------------------------------

create function [dbo].[fx生徒]
              (
              @p_学籍番号 char(7),
              @p_種類 varchar(50)
              )
returns varchar(50)
as
begin
              if @p_種類= '姓名'
              begin
                            return (SELECT 生徒姓+ ' ' + 生徒名 FROM dbo.生徒 where 学籍番号 = @p_学籍番号)
              end
              if @p_種類= '姓'
              begin
                            return (SELECT 生徒姓 FROM dbo.生徒 where 学籍番号= @p_学籍番号)
              end
              if @p_種類= '名'
              begin
                            return (SELECT 生徒名 FROM dbo.生徒 where 学籍番号= @p_学籍番号)
              end
              if @p_種類= '性別'
              begin
                            return (SELECT dbo.kbn_性別.区分名 FROM dbo.生徒                                                        INNER JOIN dbo.kbn_性別 ON dbo.生徒.性別 = dbo.kbn_性別.区分コード                                                        where dbo.生徒.学籍番号 = @p_学籍番号)
              end
              if @p_種類= '性別コード'
              begin
                            return (SELECT 性別 FROM dbo.生徒 where 学籍番号= @p_学籍番号)
              end
return null
end

posted @ 23:33 | Feedback (0)

2010年5月30日 #

いままでPDF形式をKindle2に読み込ませる、ということばかりやっていたが、実は英語のテキストファイルなら、そのまま送り込んでKindle2で読めるのだ。さらにテキストファイルなら文字の大きさも変えることができるし、Text-to-Speech機能も使うことができる。英文をKindle2が読み上げてくれるのだ。

ロック・バンドの歴史を調べるには、日本のWikipediaよりも米Wikipediaのほうがいい。とても詳しい歴史や、様々な逸話が紹介されている。そこでサンプルに米Wikipediaでロックバンド「ディープ・パープル Deep Purple」を調べ、テキスト形式にしたものをKindle2で読むことをやってみた。

やり方は簡単だ、米WikipediaでDeep Purpleを検索し、ページの本文を選択してコピーする。そしてWindowsの「メモ帳」を起動し、テキストを貼り付ける。ただそれだけだ。ただし、保存するときに注意が必要だ。文字コードの違いによってはKindle2で表示したときに文字化けがする場合がある。

例えばWindows XP SP3で「メモ帳」を起動したときには、4つの異なる保存形式を利用できる。「ANSI」、「Unicode」、「Unicode big endian」、「UTF-8」である。「メモ帳」で保存するとき、「文字コード」のオプションでこれら4つの形式を変えることができる。

ファイル名は「半角英語」あるいは「直接入力」で英語のファイル名にする。ファイル名が日本語では、Kindle2に送り込んだときにメニュー画面に表示される文書名がわからなくなるからだ。同じテキストを4つの異なる文字コードで保存し、それぞれ文字コード形式がわかるように「wp_deep_purple_ansi.txt」、「wp_deep_purple_unicode.txt」、「wp_deep_purple_unicode_big_endian.txt」、「wp_deep_purple_utf8.txt」というファイル名にした。

ファイル名は英語フォントでなければならないが、Kindle2の「documents」フォルダの中に自分でフォルダを作って入れることもできる。ファイルが多くなると収拾がつかなくなるので、自分なりにフォルダを作って整理するのがいいだろう。このとき、フォルダ名は日本語を使っても差し支えない。

まず本文の中から文字化けの具合が比べられる部分を選んでみる。違いがわかったのは、「-(ハイフン)」のように見える記号の表示と改行の具合だった。ちなみに他の部分の「-(ハイフン)」のように見えるところで文字化けしていないところもあるし、改行も全ての行でおかしくなるのではないようだ。

違いを比べるために、まずコンピュータの画面で正しい表示具合を確認しておく。本文中にバンドの歴史を時代ごとに箇条書きにまとめた部分があり、行の最後に括弧書きで(1967-68)といった記述のある部分があった。この部分で文字化けと改行の不具合が出ることがわかった。

まず「ANSI」コードで保存されたものは、年号の間をつなぐ「-(ハイフン)」のように見える記号が全く表示されず、スペースとして表示される。次に「Unicode」と「Unicode big endian」で保存されたものは、いずれも「-(ハイフン)」のように見える記号が全く表示されず、スペースとして表示されるとともに、これらの行だけ2行分に改行されて見える。そして「UTF-8」コードで保存したものは、PCの画面上のテキスト表示と同じように表示された。

これらのテキストファイルは、文字コードの違いによって一部の文字に文字化けがおこり、改行の具合がおかしくなることがわかった。そして最も正しく表示されるコード形式は「UTF-8」であるようだ。だがどの文字コード形式であっても、基本的なアルファベットはちゃんと読むことができる。そのために違いがわかるまでは、どの形式で保存しても同じではないか、と思ったくらいだ。したがってここで得られた知見は、ある文書を試験的にKindle2で保存した経験的なものであって、技術的な裏づけを持っているわけではないが、これらの結果からはWindowsの「メモ帳」で保存する文字コード形式としては「UTF-8」を選ぶべきだ、と言っていいだろう。

テキストファイルとしてKindleに保存したファイルは、「AA」ボタンをクリックしてフォントの大きさを変えることもできるし、Text-to-Speechも使うことができる。テキスト形式のドキュメント保存は、Kindle2でドキュメントを扱う方法として、簡単でしかも実用的な使い方だと思う。

またKindle2で当該のファイルを表示すると、documentフォルダにドキュメントファイル名と同じ名前で拡張子が「.mbp」というファイルが自動的に生成する。これはドキュメントを読んでいる場所を記録したり、Kindle2が利用するためのファイルであると思われる。

こちらのblogには同じ内容を画面キャプチャや写真を使って説明している。こちらも参考にしてほしい。
http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!207.entry

posted @ 11:52 | Feedback (1)

2010年5月29日 #

ZUNE、Windows Mobile、Kindle、iPod Touchなどモバイル機器を複数持ち歩くようになると、充電のことも考えなければいけない。出先でバッテリーが放電すると悲しいからだ。これらのモバイル機器は単なる文鎮と化してしまう。

最近のモバイル機器は、ほぼUSB充電に対応しているので嬉しい。パソコンがあればUSB接続ケーブルでパソコンから充電することができる。たいていの場合はモバイルPCを持っているので、PCからの充電で間に合うことが多い。

しかし場合によってはPCを持っていない、あるいは持っていてもPCのバッテリーそのものを確保しておきたい、移動中なのでPCを起動できないなどの理由でUSB充電ができない場合がある。そのため俺はこれを持ち歩いている。SANYOのeneloop USB出力付リチウムイオンバッテリーKBC-L2だ。

これさえあれば、ZUNE、Windows Mobile、Kindle、iPod Touchなどモバイル機器など、それぞれ対応するUSB接続ケーブルを使って充電することができる。USPポートは2つあり、同時に2台のUSB機器を充電できる。ケーブルを接続したら「DC OUT」ボタンを押すだけだ。出力はDC 5.0V、500mAであり、USBの規定電圧、電力であり、USB接続に準拠している機器なら問題ない。

このバッテリー自身の充電は、USB接続でPCなどから充電する方法と、添付のACアダプターを使って充電する方法がある。USBを使えるということは、PCがあればUSBケーブルさえあれば充電できるので機動性が高い。

この記事と同じ内容だが、こちらのblogでは写真入で紹介している。こちらも参考にしてほしい。
http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!195.entry

posted @ 11:37 | Feedback (1)

2010年5月28日 #

Kindleは3G回線を使ってインターネットに接続し、AmazonのKindle Storeから本を買うことができる。3G回線、ということは、要するに携帯電話の通信回線を利用するということだ。米AmazonはKindleおよびKindle Storeを世界展開するにあたり、各国の携帯電話会社とローミングサービスを結んだようだ。俺の周囲でも「日本でKindleを使うのは違法ではないか」といった勘違いを言っている人もいたが、そんなことはない。Amazonの正式な発表を見たことはなく、個人のblogなどから入手した情報でしかないのだが、米AmazonはAT & Tと契約し、日本ではNTT DocomoとAT & Tが契約しているローミングサービスを介して接続できるようにしているらしい。念のため、これはあくまでも二次情報からの推測だ。

各国で利用できるKindleは米本国で発売されているものとは違い「US & International Wireless」バージョンというらしい。昨年秋に全世界で一斉展開され、100カ国以上ので発売されるようになった。

3G回線を使う、つまり携帯電話の通信回線を使うということは、Kindle2本体が一個の携帯電話端末と同じ無線接続機能を持っていることを意味する。ということは、電話番号に相当する機器固有の番号があり、Kindle2でKindle Storeに接続する行為は、いわば電話をかけてインターネットに接続し、Webサイトにアクセスすることと同じであるといえる。これが通信料の負担なしでできるのだ。よほど田舎なら別だが、ある程度の都会ならば携帯電話に繋がらない場所は少ないだろう。つまり、たいていの場合は、いつでもどこでも思いついたときにKindle2はKindle Storeに接続することができ、書籍を検索してダウンロードすることができる、ということだ。実際、今回Kindle Storeから購入したのは、通勤途中の電車の中だった。

Kindle2で通信回線を介してKindle Storeに接続するには、本体右側にある「MENU」ボタンをクリックし、表示されたメニューから「Shop in Kindle Store」を選択する。選択するには「5 - Way Controller」を押す。

Kindle Storeのトップメニューが表示されると、画面の下部にテキストボックスが表示される。ここにKindle2本体のアルファベットキーを使って検索したい文字を入力し、5 - Way Controllerを押して「Search Store」をh実行することができる。試しに「ZUNE」のキーワードで検索すると、8冊の書籍を検索することができた。

多くの書籍は購入する前に「サンプル」を無料でダウンロードできるようになっている。書籍の一部を無料で読むことができ、読み続けたければ購入すればいい。サンプルをダウンロードするには「Try Sample」、購入するには「Buy」を選択する。ここで注意したいことは、「Buy」ボタンを押すと次のステップを踏むことなくいきなり購入してしまうことだ。これは当然と言えばそうであり、いかにもアメリカ的な直球処理である。「本当に購入しますか」、「次の支払いを実行します」、「本当によろしいですか」など2つも3つもステップを踏んで購入手続きを行う一般的なネット上の処理に慣れていると、拍子抜けするほどである。さらにKindle2本体のレスポンスが遅いので、ページ遷移を確認する前にクリッククリックをしていると、自分で意図せず誤って書籍を購入してしまうことも起こり得る。「起こり得る」と人事のように書いたが、実は俺も間違って小説をひとつ購入してしまった。だから今回の購入は、俺にとってKindle Storebにおいて2冊目の書籍購入となった。

今回購入した書籍は「Zune Game Development using XNA 3.0」という解説書である。日本でもXNA Game Studioの発表にあわせてXNAを使ったプログラミングの書籍は何冊か出ているが、俺が探したところではZUNE開発について解説している本はない。そこで洋書を買うことにした。Kindle2を利用する利点は、いつでもどこでも思いついたときに数多くの洋書を検索し、購入することができるところだが、値段が安いことも魅力だ。今回購入した書籍は、通常の書籍価格で49.99 USDだとある。しかしKindle価格は15.57 USDであった。輸入コストを加味すると、極めてお得な価格であるといえる。

Kindle Storeで「Buy」をクリックすると、数秒から数十秒で書籍がKindle2にダウンロードされる。ダウンロードが完了すると「HOME」メニューに書籍名が表示されるので、5 - Way Controllerを使って選択するだけだ。

以下のblogにはこの記事と同じ内容を写真入で紹介している。こちらも参考にしてほしい。http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!189.entry

posted @ 18:50 | Feedback (1)

2010年5月12日 #

紙ドキュメントをPDFにすることに特化したScan Snapという製品がある。そこで手持ちの文庫本を裁断機にかけてばらばらにし、このスキャナにかけてPDF化してKindle2で読むことができるかどうか試してみた。使用したスキャナは富士通製のScan Snap S1500だ。

文庫本を選んだのは、Kindle2のディスプレイ面積からである。Kindle2本体は縦205mm、横135mmほどの大きさだが、ディスプレイは縦122mm、横90mmである。これは文庫本のサイズより小さい。このディスプレイサイズでは文庫本をPDF化してなんとか読めるサイズであり、仮にA4サイズの書籍をPDF化すると字は小さくて読めないだろうと思われる。Kindle2に入れたPDFファイルは、用紙サイズがいくらであろうとも自動的に縮小されて画面に表示されるからだ。ちなみに今回使った文庫本をキッチンスケールで量ってみると、重さは282gだった。Kindle2の実測が290gだったので、ほとんどKindle2と同じ重さということになる。

まず文庫本を裁断機にかけ、背表紙の部分を断ち切る。これで本はばらばらになる。そしてばらばらになったページをScan Snap S1500に入れてスキャンする。本は奥からスキャンされるので、始めのページが奥にあたるように装填する。Scan Snapのソフトウエアには上下を自動的に判定する機能があるが、誤判定する場合があるので、自動判定機能はOFFにするのがいいようだ。その場合は本を逆さにして装填する。スキャンは両面を一度にスキャンしてくれるので一回通すだけでいい。ただ一度に装填できるのは、約50枚くらい、つまり両面ページ数にして100ページくらいなので、厚い本をスキャンする場合は50枚ずつ分けて装填しなければならない。文庫本サイズで50枚のスキャンには2分くらいで終了する。この速さがScan Snapの魅力だ。

スキャンが終了すると自動的にフォルダにPDFファイルが生成する。一度にスキャンするごとに一つのPDFファイルにまとまって保存されている。生成したPDFファイルはデフォルトで作成した日付と時間になっている。スキャンが完了するとPDFファイルと同時にスキャン時の状態をレポートしたドキュメントも生成する。

今回やってみた文庫本は、全部で600ページほどあったので、全部スキャンするためには100ページずつ6回スキャンする必要があった。一冊の本が6つのPDFファイルになったのだ。これを結合するには、Scan SnapにバンドルされているAdobeのAcrobat 9を利用した。生成した6つのPDFファイルを読み込んで結合し、ひとつのPDFファイルに出力するのだ。

こうしてできたPDFファイルをKindle2の「documents」フォルダにコピーする。するとKindle2で読めるようになった。今回、ページ数が多い本だったこともあり、スキャンのクオリティを白黒モードでやってみた。もしかしたらグレースケールでスキャンすれば見やすかったかもしれないと思ったが、Kindle2の表示は全く問題ない。快適に読むことができる。

こちらのblogには写真を使って説明しているので、こちらもぜひ見て欲しい。http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!182.entry

posted @ 23:32 | Feedback (1)

2010年5月3日 #

Kindle2にはmp3再生機能がある。これを使うのは簡単だ。だが残念ながらこの機能はあまり良いとはいえない。

まずKindleをPCに接続すると、外付けドライブのように認識されるが、そのドライブを開くと「audible」、「documents」、「music」という3つのフォルダがあらわれる。このうち「music」のフォルダにmp3ファイルを入れると、Kindle2本体で再生できる。ちなみにWindows7に標準で入っている「Kalimba」、「Maid with the Flaxen Hair」、「Sleep Away」の3つのmp3ファイルを入れてみた。

これらのMP3ファイルを再生するには、5-way Stickを操作し、「Experimental」のメニューを開く。すると「Play MP3」というメニューが出るので、そこを選択してクリックするだけだ。

ただし曲の選択などの操作はできない。「Play MP3」メニューをクリックすると、Kindle2に送り込まれたmp3ファイルをただ順番に再生するだけである。全くBGMとしての使い方に徹しているのだ。さらに再生機能は貧弱で、ときどき音が飛んでしまう。

こちらのblogには写真入で紹介している。ぜひこちらも見て欲しい。http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!174.entry

posted @ 23:52 | Feedback (1)

2010年4月29日 #

Kindle2は軽くて薄い。実際にKindle2をキッチンスケールに乗せて重さを量ってみた。すると実測値で290gだった。

軽いことも魅力だが、薄いところもいい。通勤鞄のポケットにするりと収まってくれる。UNIQLOで買ったDIMEビジネスバッグにMicrosoftのタグを付けて愛用しているが、この鞄の外側ポケットにKindle2は居心地よく収まってくれる。この鞄は軽いこと、ポケットが使いやすいこと、などでとても気に入っている。

Kindleに限らず、このような電子デバイスは軽くて薄いことが重要だ。重ければ手に入れたときしばらくは嬉しくて持ち歩くが、そのうちに鞄に入れるのが億劫になってくる。

鞄に入っていることを意識しなくてもよい軽さと薄さ。電子デバイスの開発メーカーは、このところを究極に追求して欲しい。

この記事は別のblogに写真入で紹介してる。こちらも見て欲しい。

「ホチキス先生のプログラマーと呼ばれたいーWindws Live Blog」http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!169.entry

posted @ 14:18 | Feedback (1)

Windowsのシェル、スクリプト実行環境は.NET Framework 2.0の提供とともにWindows PowerShellに移行した。とりわけWindows Server 2008にはWindows PowerShell環境が標準実装であり、今後はWindows PowerShellを使うことになるだろう。

そこでWindows PowerShellについての書籍を探しに本屋へ行き、次の2冊を見つけた。

「PowerShellによるWindowsサーバ管理術」著者:永尾 幸夫、 小鮒通成、 国井傑、竹島友理、牟田口大介/出版社:ソフトバンククリエイティブ/発行年:2009/8/4

「Windows PowerShell ポケットリファレンス」著者:牟田口大介/出版社:技術評論社/発行年:2008/4/11

著者はいずれもWindows Server管理では名前の通った著名人である。特に牟田口大介氏は2004年からMicrosoft MVPを受賞しており、現在はWindows PowerShellカテゴリで活躍している。

これ以外にもMincrosoft公式解説書などもあったが、ほとんど仕様書に近い感じの書籍でまとまりがないと感じられた。まず読むべきは上記の二冊だろうと思い買って帰った。

posted @ 11:25 | Feedback (1)

4月になって勤務する学校のシステムを再構築することになった。そこで問題になったのは、一括で大量にユーザー作成する方法だ。俺が勤務する学校には常勤の教職員が100名以上、生徒が1100名以上いる。つまり1200のユーザーアカウントを作成する必要がある。

インターネットでWindows ServerのActiveDirecrtoryにユーザーを一括作成する方法を検索すると、主として3つの方法が見つかる。ひとつはAddusersユーティリティーを使う方法、もうひとつはWSH環境でVBScriptを使う方法、そして最後はWindows PowerShellを使う方法だ。

addusers.exeはコマンドライン上で実行するユーティリティープログラムで、「Windows NT 4.0 Resource Kit、Supplement 3」や「Windows 2000 Serverリソースキット」に含まれている。このツールを使うにはリソースキットを買わなければならない。俺もWindows 2000 Serverを管理していたときは、このaddusers.exeを使ってユーザー登録していた。このツールは当時の管理者にとって、たいへんありがたいツールであり重宝されていたので、今でもインターネットでユーザー一括作成の方法を調べると、たくさんの情報が得られる。だがこのツールで登録できるActiveDirectoryの情報には制約がある。全ての情報を登録することができないのだ。

Microsoftは1998年にWindows 98でWindows Script Host、略してWSHを提供した。WSHでは言語としてVBScriptとJScriptが利用でき、これらの言語を使ってスクリプトを書くことができる。コマンドラインに比べて強力な機能を発揮でき、VBScriptはVisualBasicに近い構文を利用できるのでスクリプトを作成しやすい利点がある。インターネットにはWSHを利用したスクリプトの情報もたくさんある。

Windows PowerShellは2006年にマイクロソフトが提供したWindowsにおける本格的なシェル環境である。スクリプト言語はオブジェクト指向に基づいて設計されており、。NET Framework 2.0を基盤としている。Windows PowerShellはWindows XP、Windows Server 2003、Windows Vista、Windows 7などで利用でき、Windows Server 2008では標準で含まれている。

サーバー管理の仕事ではユーザー作成など一括処理を自動的に行いたい場面が多い。これらバッチ処理は今後Windows PowerShellを使って行うことになるだろう。

posted @ 10:48 | Feedback (1)

2010年4月27日 #

Kindleで図は表示できるのか、という質問をいただいた。KindleはPDFファイルを表示できるので、何らかの方法でPDFファイルさえできればKindleで表示できるはずだ。これは日本語フォントの問題ではなく、Kindle本体に日本語フォントがあろうがなかろうが、PDFは表示できる。それがPDFだからだ。

試しにMicrosoft Word 2007で新規文書を作成し、SmartArtの図を作る。Microsoft Office 2007には魅力的な機能がたくさんあるが、その中でも俺が気に入っているのが、このSmartArtだ。概念を視覚化するために、SmartArtの図はとても役に立つ。またSmartArtの図をあれこれ見ながら、自分の考えをどうまとめれば良いかを考えたりする。

もうひとつやってみたのが写真だ。Microsoft Zune HD 32の写真をWord文書に貼り付けてみた。

これをPDFファイルとしてKindleに入れて表示してみる。SmartArtの図もZuneの写真もともにカラーだが、Kindleはモノクロだ。だが実際にKindleで表示してみると、モノクロであっても、とてもいい感じで表示される。PDFであることから当然なのだが、図であれ写真であれ、PDF文書をKindleはモノクロではあるがちゃんと表示してくれるのだ。

これについては別のblogで写真入で紹介しているので、こちらも見て欲しい。

「ホチキス先生のプログラマーと呼ばれたいWindows Live Blog」http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!160.entry

posted @ 23:58 | Feedback (1)

2010年4月26日 #

青空文庫のテキストを「青空キンドル」でPDF化したとき、ルビがどんな具合に表示されるのかを質問されたのでやってみた。結果は、実にスマートに表示される。一般的に書籍で表示されるのと同じようにだ。

これはKindleが優秀なのではなくて、青空文庫のデータをPDF化する「青空キンドル」がレイアウトをそのように設定しているからだ。「青空キンドル」が優秀なのだ。

ちなみに青空文庫にある夏目漱石の「草枕」を「青空キンドル」でPDF化したものをKindleに送り込んで表示し、デジカメで写真を撮った。これをhttp://matsumotoyoshio.spaces.live.com/default.aspxに掲載しているので、こちらのblogも見て欲しい。

posted @ 20:43 | Feedback (0)

2010年4月25日 #

既にレポートしたとおり、AmazonのKindle2で日本語のテキストを読むためには、特別なんらハッキングの必要はなく、単にPDFファイルにして送り込めばいいだけだけである。PDFはそれを表示する機器にフォント情報を持たなくても正しく表示される。それがPDFの本質だからだ。では英語の文書をKindleで読むために最も簡単な方法はなんだろうか。ここではMicrosoftのOffice2007のPDF保存機能を利用して英語のドキュメントをKindleに送り込む方法を説明する。

当然のことだが、英語圏の情報は日本のウィキペディアよりも米Wikipediaに詳細な英語情報がある。欧米のロックバンドに関する情報など、魅力的な情報が満載だ。たとえば米Wikipediaでロックバンド「キッス」について調べると、たいへん詳しいグループの歴史が書かれていることがわかる。これをKindleにコピーして読むにはどうすればいいのだろうか。

要はPDF化してKindleに送り込めばよい。そこで米Wikipediaの当該ページからテキストを全て選択し、コピーしてWordの新規文書に貼り付ける。貼り付ける方法は「形式を選択して貼り付け」とし「unicode」とする。

つぎにフォントの大きさを調節する。KindleはPDF文書の1ページをそのまま画面の最大サイズに適合させて表示するので、用紙を「A4」だとか「A5」だとか変更しても意味はない。Kindleの画面サイズになったときの表示割合だけが問題なのだ。そこでWordの「印刷レイアウト」で「ズーム」表示を「1ページ」にし、1ページの表示の大きさがだいたいKindleの画面サイズに等しいくらいに表示してみる。このときに「ちゃんと読める」くらいのフォントサイズにすればいいのだ。

実際には用紙サイズがA4なら、フォントサイズは22ポイントぐらいが適当だろう。

もうひとつ調節したいのは「余白」である。Wordで文書を作成するとき、デフォルトでやや余白は大き目にとってある。しかしKindleで表示する場合は余白は必要なく、むしろ画面サイズを最大限に利用したい。そこで余白をWord 2007のユーザー設定で「狭い」とする。

具体的な余白の数値としては上下左右をそれぞれ12.7mmが適当だろう。

このようにフォントサイズと余白を調節し「名前を付けて保存」で保存する。「ファイルの種類」を「PDF」にし、アルファベットでファイル名を付ける。このときファイル名に日本語を使ってはいけない。Kindle本体に日本語のフォントはないので、Homeメニューには?としか表示されないからだ。

このようにMicrosoft Word 2007などでPDF化すれば、英語であれ日本語であれドキュメントをKindleで読むことができる。

(こちらのblogには同じ内容だが写真入で説明している。こちらも参考にして欲しい。http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!143.entry)

posted @ 16:45 | Feedback (1)

「青空文庫」は青空文庫(あおぞらぶんこ)は、日本国内において著作権が消滅した文学作品、あるいは著作権は消滅していないものの著作権者が当該サイトにおける送信可能化を許諾した文学作品を収集・公開しているインターネット上の電子図書館である。(Wikipedia 2010/04/25)青空文庫のWebページには、現時点で収録作品数は8988だと表示されている。この書籍をKindleで読もうと考えた。

インターネットの検索サイトで「青空文庫 Kindle」として検索すると、「青空キンドル」というシステムが見つかった。これは青空文庫のテキストをKindle で読めるような PDF に変換するサイトだ。

まず青空文庫で読みたい本を探す。読みたい本の詳細が表示されたら、そこにある「ファイルのダウンロード」からzipファイルのダウンロードリンクをコピーする。やりかたはファイル名にマウスカーソルを重ね、右クリックで「ショートカットのコピー」だ。そしてそのURLリンクを「青空キンドル」のテキストボックスに貼り付け、「PDF化」のボタンをクリックする。すると瞬時に「ファイルのダウンロード」のメッセージボックスが現れ、保存先を指定する。たった数秒でKindle用に最適化されたPDFファイルが得られる。

このPDFファイルをUSBで接続したKindle2の「Documents」フォルダにコピーすればいいだけだ。

試しにエドガー・アラン・ポーの小説をいくつかKindle用にPDF化してみた。操作は全く簡単で、短い間に何冊ものKindle用PDFを得られた。この方法で得られたPDFファイルには、各ページにヘッダーができ、表紙が生成し、定本や入力、校正など青空文庫のデータが書かれた奥付が生成する。

(こちらのblogには同じ内容だが写真入で説明している。こちらも参考にして欲しい。http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!142.entry)

posted @ 15:01 | Feedback (1)

Kindleは3G経由で米国Amazonから書籍とダウンロードすることを期待されているが、USBでPCからファイルを転送することもできる。だが俺が入手したのはKindle2という第二世代のKindleなので、もしかしたら初代Kindleとは仕様が違うかもしれないので、正確を期するためタイトルを「Kindle2利用レポート」とした。

Kindle2をUSBでPCに接続すると、単に外付けディスクドライブのように認識される。ドライブ名は「Kindle」だ。Kindleドライブには3つのフォルダが見える。「audible」、「documents」、「music」だ。このうち「documents」フォルダを開くと、購入時に入っていた「Kindle DX User s Guide」や「Thank You Letter」などのファイルが入っていることがわかる。ここにPDFファイルをコピーしてやると、USBからKindle2を取り外した時点でHomeにファイル名があらわれる。Kindleの5-way Stickを操作し、ファイルを開くとあっけなくKindleにPDFが表示される。

これはPDFファイルの表示なので、本体のフォントは関係ない。当然ながら、英語だけでなく日本語も表示される。つまりKindle2で日本語の書籍を読むことは全く問題ない。

(こちらのblogには同じ内容だが写真入で説明している。こちらも参考にして欲しい。http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!141.entry)

posted @ 13:57 | Feedback (1)

2010年4月19日 #

Kindleを手に入れて使っている。使い始めてまだ数日しか経っていないが、Kindleには実際に使ってはじめてわかる魅力がある。

まず「米Amazon.comは、2009年5月に米国で発表した電子ブックリーダーの大画面版「Kindle DX」について、日本を含む世界100カ国以上でも販売すると発表した。」というニュースが2010年1月6日に発表された。そこで日本のAmazonを見ると、確かにKindleの販売が案内されているが、実際に購入手続きに入ると、それは米Amazonサイトにリダイレクトされ、米Amazonから購入し、国際便で送られることになった。

これははたして「日本で発売された」と言えるのだろうか、と思った。つまりは、どのみち米Amazonから買うのだから、特別「日本で発売」という訳ではないのではないか。だが「日本で発売」の本当の意味は、3Gネットワークを介した接続だろう。

Kindleは「3Gワイヤレス通信機能を備え、電子書籍ストア「Kindle Store」で取り扱う30万冊以上の英語書籍などを3Gネットワークを介して購入が可能。」となっている。これはどういう意味かといえば、3Gつまり携帯電話網にKindleが接続し、ネットワーク経由でAmazonのサイトから英語の書籍を買えるということである。日本では通常都市部で携帯電話網に接続できないことがないので、実質上「どこにいても」自由にAmazonサイトからKindleに英語書籍を選んで買えることになる。「日本で発売」の意味は、日本の携帯電話網との契約ができたことを意味していると思われる。

このKindleの3G携帯電話網を使ったネットワーク接続だが、通信料は全くかからない。そもそも携帯電話事業者と何ら契約を交わしていないからだ。であるにもかかわらず、Kindleは携帯電話網を利用できるようになっている。この仕組みはニュースサイトなどによれば、米Amazonが通信事業者AT&Tと契約をし、国際ローミングサービスで日本ではNTT-Docomoの回線を使って接続できるようになっているらしい。この通信費用はAmazonが負担しているという。Amazonは書籍の販売利益から3G携帯電話網の接続費用を捻出しているという。

これはユーザーにとって素晴らしいことだ。またこのKindleの3G通信モデルから予想されることは、もしかしたら近い将来、携帯電話網を使ったデータ通信サービスは原則無料になるのではないか、ということだ。通信料はコンテンツ提供事業者が負担する。いわば現在のテレビ放送に似た、通信費用を別の手法で回収する、という事業になっていくのではないか。

さて実際にKindleを見て驚いたことは、電子インクの素晴らしさだ。Kindleのパッケージを開けた時、そこに現れたKindleの画面には、奇麗なイメージ写真があった。俺はこれを何か印刷物が貼ってあるのだと思い、どこからはがそうと仔細を眺めたくらいだ。しかしそれはディスプレイに写ったイメージだった。Kindleを充電するため取り付けたUSBのプラグを電源に差し込んだとたん、ディスプレイの奇麗なイメージが別の表示に変わった。印刷物だと思った俺はとても驚いた。それほど電子インクは素晴らしい表現力だった。

この電子インクは、明るいところでも全く遜色なく文字を読むことができる。直射日光が当たっていても読める。逆にいえば自ら発光していないので、暗いところでは読むことができない。これは紙の印刷物と同じ感覚である。モノクロであることに割り切って開発したことが、良い効果を出していると思われる。

もうひとつの驚きは、英語で文章を読んでくれる「テキスト・トゥ・スピーチ」の機能だ。一連の英語の文章を、流暢に読んでくれる。文章の流れを判断し、抑揚もついている。漠然と聞いていれば、本当に誰かが英語で読んで録音したのではないか、と思えるくらいだ。実際Kindleを見せて「テキスト・トゥ・スピーチ」を聴かせた知人の多くが、これは録音されたものが別に入っているのだろう、と答えた。しかしイヤホンをKindleにつけて仔細に聞くと、やはり機械の発音であることがわかる。

Kindleのファーストインプレッションはこんな感じだ。今は通勤途中の電車で簡単な英語の文章を目で読み耳で聞き、英語の勉強にもなっている。

posted @ 0:03 | Feedback (0)

2010年2月4日 #

ユーザー定義関数の便利さがわかってくると、頻繁に行うクエリは関数にしてしまうと便利なことに気づく。また便利であるとともに、複雑なクエリを作ったときでも構造がシンプルになり見やすくなるメリットもあるだろう。

たとえば本校のシステムでは、毎年の授業講座について「年度」、「受講登録番号」、「講座展開番号」の3つのコードで管理している。ある年度について、各曜日の時間帯に設定した講座を受講登録番号に割り当て、同時間帯に複数の講座に分割して実施する場合は異なる受講登録番号を割り当てる。この3つのパラメーターで講座が決定される。

そこで「年度」、「受講登録番号」、「講座展開番号」の値から、その講座の詳細情報を得られるユーザー定義関数を作る。関数の引数は、「年度」、「受講登録番号」、「講座展開番号」の3要素に加えて何を返すのかを指定する「パラメーター」の4つとする。パラメーターは意味がわかるように「名称」、「教員」、「教員名」といったテキストで指定することにする。

使い方は例えばこのようになる。

<その講座の授業担当者名を知りたいとき>

select fx講座('09',123,'01','教員名')

<結果>

松本吉生

とりあえず取得したい要素を「講座名称」、「授業担当教員の職員番号」、「授業担当教員名」、「出欠登録をする教員の職員番号」、「出欠登録をする教員名」と考えた。このように作ったユーザー定義関数は、パラメーターを追加することで拡張することができる。

しかし注意点としては、一度実装してしまったユーザー定義関数、パラメーターなどを変更することは難しい。その関数がどこで使われているかを全て洗い出し、問題がないことを確かめてから変更しなければならない。システムの規模が大きくなると事実上変更することは不可能になると思って最初から吟味して実装することがいいだろう。

<ユーザー定義関数を作るCREATE FUNCTION文サンプル>

CREATE function [dbo].[fx講座]
/*
現在の講座の情報を返す関数。講座を決定する要素は、年度、受講登録番号、講座展開番号、パラメータ。返す値は、名称、教員コード、教員名、・・・など。varchar(50)、後に拡張できる要素を残しておく。パラメータは’名称’、’教員’、’教員名’、'出欠教員'、'出欠教員名'・・・とする*/
              (
              @p_年度 char(2),
              @p_受講登録番号 int,
              @p_講座展開番号 char(2),
              @p_パラメータ varchar(50)
              )
returns varchar(50)
as
begin
if @p_パラメータ = '名称'
              return (select koza_3_nm from c_k6 where kainendo_cd = @p_年度 and jyukotoroku_no = @p_受講登録番号)
if @p_パラメータ = '教員'
              return (select 教員番号 from c_k9 where kainendo_cd = @p_年度 and jyukotoroku_no = @p_受講登録番号 and bunkatsu_no = @p_講座展開番号)
if @p_パラメータ = '教員名'
              return (select 職員姓名 from 職員 where 職員番号 = (select 教員番号 from c_k9 where kainendo_cd = @p_年度 and jyukotoroku_no = @p_受講登録番号 and bunkatsu_no = @p_講座展開番号))
if @p_パラメータ = '出欠教員'
              return (select 出欠教員番号 from c_k9 where kainendo_cd = @p_年度 and jyukotoroku_no = @p_受講登録番号 and bunkatsu_no = @p_講座展開番号)
if @p_パラメータ = '出欠教員名'
              return (select 職員姓名 from 職員 where 職員番号 = (select 出欠教員番号 from c_k9 where kainendo_cd = @p_年度 and jyukotoroku_no = @p_受講登録番号 and bunkatsu_no = @p_講座展開番号))
return null
end

posted @ 4:08 | Feedback (0)

2010年1月3日 #

年末から年始にかけて、iPod Touch(2nd Generation)とZUNE HDを使っている。ほぼ一ヶ月間、両方のデジタルメディア端末を同じように使いながら、使用感などを比較している。端末自体の比較は簡単には語れないが、端末をコントロールするアプリケーションについて、とりあえず語ってみたい。

1.iTunesでもZUNE Softwareでもmp3タグが正しく記録できない現象がおきている。リッピングしたファイルを他のタグ情報編集ツールで開こうと思っても、エラーになって編集できないことが頻繁におこる。実績として、543曲をリッピングした時点で、11曲にmp3タグエラーがおきている。これはかなりの頻度である。なぜこのようなことがおきるか調べてみたら、どうやら曲名にドイツ語アルファベットのウムラウト付き文字やエスツエット、フランス語アルファベットの3種のアクセント符号アクサンテギュ、アクサングラーヴ、アクサンシルコンフレクスそしてトレマ、セディーユ、合字、ラテン語からの借用語があるときに問題が発生する。文字コードの問題のようだ。

2.iTunesでWMAファイルを読み込むとサウンドファイルが二重化される。iTunesからWMAファイルを登録すると、勝手に「ファイル形式を変換します」というメッセージが出てファイルを変換してしまう。この変換されたファイルは「マイミュージック」の下に作られたフォルダに生成する。「マイミュージック」の実態はCドライブにあるので、もとのWMAファイルと二重化された状態になり、ストレージを無駄に占有する。さらにこの変換が極めて遅い。アルバムがCDで200枚ほどあると変換に数日を要する。

3.ZUNE SoftwareはエラーのあるCDでもリッピングしてくれる。かなり深刻なエラーのあるCDでも、ZUNE Softwareではリッピングができる。iTunesではリッピングできなかったCDもZUNE Softwareではすべてリッピングできた。今のところリッピングに失敗したCDはない。リッピング完了率100%だ。

posted @ 7:39 | Feedback (0)

2010年1月2日 #

この記事だが、最初に書いた報告は間違いだった。ZUNE SoftwareでCDのリッピングをはじめたとき、リッピング画面で「Unknown Track」と表示された曲名を右クリックし「Rename」で曲名を変更してもアーティスト名が正しく反映される。ただ曲名を変更するタイミングが問題なようだ。場合によっては「Unknown Artist」フォルダに曲が格納されることがある。そこでCDをトレイに装填してすぐにリッピングが始まった場合は、まずはリッピングを止め曲情報を変更し、タイミングをおいて再度リッピングをはじめるのがよいだろう。

---------------------------------------- 最初に書いた記事 ----------------------------------------

ZUNE SoftwareでCDをリッピングするとき、データベースに曲情報がない場合がある。特に現時点ではZUNEが日本で発売されていないこともあり、日本向けにボーナストラックなどが入っているCDは、ほとんどの場合曲情報がデータベースに登録されていない。

このとき、ZUNE Softwareには「Unknown Artist」の「Unknown Track」と表示されるのだが、そのままでは具合が悪い。リッピングされたデータはアーティストごと、アルバムごとのフォルダに格納されるが、このままでは「Unknown Artist」のフォルダに入ってしまうからだ。

たいていボーナストラックはCDの最後に収められているので、リッピングに入ったときに曲名がないことに気づくと、ZUNE Software上でリッピング途中で曲名を変更できる。しかし、このときに変更すると、アーティスト名は反映されず「Unknown Artist」フォルダに格納されてしまうのだ。

そこで曲情報がない場合は、とりあえず「Unknown Track」のままリッピングする。そして「Collection」でリッピングしたアルバムを開き、曲情報を「Edit」する。そして「Unknown Track」だった曲を削除し、もう一度CDをトレイに装填してリッピングする。これでリッピングファイルが正しいアーティスト、正しいアルバムフォルダに格納される。

posted @ 23:04 | Feedback (0)

2009年11月29日 #

iPod TouchはAVケーブルを使ってテレビなどのモニタに写真のビデオ出力をすることができる。この機能を使ってプレゼンテーションを実現できる。

1.iPod Touch用のAVケーブルを接続する

このとき気をつけなければならないことは、iPodからのAV出力について、第5世代のiPod with VideoやiPod Photoとテレビを繋ぐAVケーブルでは映像出力はできないことだ。この第5世代のiPod with VideoやiPod Photo用のAVケーブルは、iPod側はイヤホンジャックに差し込む形のミニプラグでできているが、これを使うことはできない。iPod TouchではいわゆるDochコネクタを使って接続する形のケーブルを使う。またこのケーブルは、サードメーカーのものではうまくいかないこともあるようなので、できれば純正のものを購入したほうがいいようだ。

2.プレゼンをパワーポイントで作る

作るプレゼンはパワーポイントでいい。ただしiPodから出力された画面の解像度は高くないので、文字のフォントを大きめにし、写真なども解像度が低くてもわかるものを選んでおく。またiPodによる単なる映像出力機能を利用するので、スライドの切り替え効果や文字などのアニメーションは設定しても無効である。

3.プレゼンテーションの保存をPNP形式にする

できたパワーポイントのプレゼンテーションを保存するとき、まずそのままパワーポイント「プレゼンテーション」形式で保存する。後で編集できるようにするためだ。しかしこれではiPodで再生できないので、「名前をつけて保存」をし、「PNPポータブルネットワークグラフィックス形式」にする。すると「すべてのスライド」か「現在のスライド」かを選択するボタンが出るので「すべてのスライド」をクリックする。すると保存先にフォルダができ、そのフォルダの中に各スライドが画像形式で保存される。このとき「JPEGファイル交換形式」や「GIFグラフィックス交換形式」にしてもよい。

4.プレゼンテーション画像をiPod Touchに転送する

iTunesを使ってプレゼンテーションの画像をiPod Touchに転送する。これは単なる画像ファイルなので、「写真」と考えて処理する。

5.iPod Touchをモニタに繋いでプレゼンテーションを行う

iPod TouchにAVケーブルを接続し、テレビなどのモニタにビデオ出力で接続する。単に接続しただけでは映像は出力されないので注意が必要だ。写真のスライドショーにしないと画像は出力されない。チェックするときは何らかの写真をスライドショーにしながら確認しよう。また接続したときに正常にモニタ出力されるまでに数秒のタイムラグがある。モニタに入力切替スイッチがあるとき、スイッチを切り替えてもすぐには映像が表示されないことがあるので、あまり素早く切り替えると映像が確認できない。これも注意だ。あわてず落ち着いてやろう。

6.プレゼンテーションの実際

iPod Touchで写真を切り替える効果は絶妙で、指でスクラブするとあたかも写真を弾くような表示で切り替わる。しかし残念なことに、iPod Touchの画面ではスマートに切り替わるが、映像出力では何の表現もなく、無愛想に切り替わるだけである。これはかなりがっかりする。全くスマートに見えない。そこでプレゼンテーションの場合は、iPodを使っているのだ、ということを意識して見せないと何ら新しさを感じさせてくれないプレゼンになるので注意。

7.iPod Touchを使ったプレゼンテーションの長所

なんといってもPCを使うときのように、PCの起動などの手間がいらないことが長所である。iPod Touchは数秒で起動し、写真のスライドショーに入ることができる。プレゼンテーション開始までの手間がいらないことが一番の長所である。スライドの切り替えも指でスクラブして前に後ろに進めることができるので、いくつかスライドを飛ばしたり前に戻ったりすることも簡単だ。

posted @ 9:12 | Feedback (0)

2009年10月12日 #

CANONのモバイルプリンターPIXUS iP100をBluetoothで利用するには、アダプタを装填しなければならない。このアダプタはCANONから専用アダプタが提供されているが、プリンタの接続コネクタはUSBコネクタのようである。そこで試しに手元にあったPCI製のUSB BluetoothアダプタBT-MicroEDR1Xを装填してみた。するとあっさり動作した。

このUSBアダプタの仕様は、Bluetooth2.1、EDR対応、Class1、送信電力100mW、送信距離100mというものだ。

もちろん、メーカー推奨ではないので正しく動作している、と保証することはできないが、少なくとも印刷は通常にできている。このことから、もしかしたら他社製のBluetoothアダプタでも利用できそうだ、と思ったわけだ。

posted @ 9:22 | Feedback (0)

2009年10月11日 #

パソコンや周辺機器が増えてくると、とにかく配線がめんどくさい。仮にノートパソコンを使うとしても、バッテリーが減ってくるとACアダプターをつけなければならないし、外付けハードディスクのデータを利用し、プリンターで印刷する、となると電源は3つ必要になる。さらにハードディスクやプリンタとノートパソコンとのUSB接続ケーブルが必要。そしてインターネットやLANに接続するLANケーブル。机の上や足回りはケーブルだらけ、という羽目に。

特にプリンタはややこしい。設置場所の面積もとるし、USBケーブルの長さに届く範囲、印刷された用紙が出力されて邪魔にならない場所、と制約が多い。そこで見つけたのがCANONのPIXUS iP100というプリンター。充電式バッテリーを装填でき、Bluetoothインターフェースも持っている。これなら完全無線接続のプリンタ環境を構築できる。

実際に使ってみると、たいへん快適である。Bluetoothは、以前ヘッドセットを使ったときに接続状況が悪くて信頼できなかったという否定的な経験を持っているのだが、このプリンタは問題なく使えている。

例えば授業でも教室から外へ出て行う場合も想定できるが、電源がなくても印刷できるというのは授業の手法を広げてくれるだろう。例えば修学旅行や研修旅行で旅行先でまとめ学習をする、校庭で植物や生き物の観察をし、デジカメで撮影したものをすぐ印刷する、などだ。

総合学習などで利用すると授業の展開も広がるだろう。

posted @ 15:34 | Feedback (0)