数独のようなゲーム「Strimko」

2010 年 3 月 6 日 コメントはありません

iPhoneのAppで久しぶりに楽しいゲームを見つけました。

Strimko Lite

数独のようなゲームです。
ルールは三つ。

  • 縦に同じ数字は入らない。
  • 横に同じ数字は入らない。
  • 線で結ばれたグループに同じ数字は入らない。

この手のパズルの面白さは一箇所が解けるとパラパラと別の部分が解ける部分にあると思っていますが、このゲームにはそれがあって気持ちがいいです。

カテゴリー: iPhone タグ:

TOKIOとSMAPと嵐のメンバー年齢比較表

2010 年 3 月 6 日 コメントはありません

妻と娘の会話についていけないのでこんなリストを作ってみました。

TOKIO

SMAP

カテゴリー: 小ネタ タグ: ,

alertとpromptのどちらを使うか

2010 年 3 月 5 日 コメントはありません

ブックマークレットで、取得した何らかの結果を表示させるにはアラートまたはプロンプトを使う。

javascript:(function(){alert(’sample’);})()
javascript:(function(){a=window.prompt(‘title’,’sample’);})()

promptを使った場合は、IEならば、文字列がテキストボックスに出力され、選択状態になるので、コピーが簡単である。

ExcelのVBAでテキストファイルを出力する

2010 年 2 月 12 日 コメントはありません

ExcelのVBAでテキストファイルを出力する方法を考える。
次はアクティブシートのセルA1からA10の内容を「出力結果.txt」というテキストファイルに出力する場合のコードである。
この例ではセルの中身を単純にそのまま書き出しているが、実際には何らかの変換を施して使うのであろう。

Sub テキストとして出力()
fnsave = “出力結果.txt”
numff = FreeFile
Open fnsave For Output As #numff
For i = 1 To 10
temp = Cells(i, 1)
Print #numff, temp
Next i
Close #numff
End Sub

次のコードは出力する内容を変数にため込み、一気に書き込む方法である。
セルの順番を入れ替えたり、セル同士を結合したり、上の例より柔軟に処理ができるかもしれない。
ただし、上と違って、自動的に改行が入らないことに注意する。もし改行を入れるならば「temp = temp & Cells(i, 1)」のところを「temp = temp & Cells(i, 1) & Chr(13)」と書くとよい。

Sub テキストとして出力2()
fnsave = “出力結果.txt”
numff = FreeFile
Open fnsave For Output As #numff
temp = “”
For i = 1 To 10
temp = temp & Cells(i, 1)
Next i
Print #numff, temp
Close #numff
End Sub

ファイル名を変えたり、保存場所を変えたりしたい場合には、1行目の代わりに次のように書くとよい。

fnsave = Application.GetSaveAsFilename(“出力結果.txt”, “テキスト(*.txt),*.txt”)
If fnsave = False Then Exit Sub

カテゴリー: デジタル タグ: , ,

ブックマークレットで目的のウェブサイトを開く方法

2010 年 2 月 12 日 コメントはありません

ブックマークレットを使って特定のページを開く場合は次のような方法があります。

同じウィンドウで開く
javascript:(function(){document.location.href=URL})()

別のウィンドウで開く
javascript:(function(){window.open(URL)})()

表紙の次からページ番号を付ける方法

2010 年 2 月 12 日 コメントはありません

マイクロソフトWord2007で表紙の次からページ番号を付ける方法は次の通り。

  1. 挿入-ページ番号-ページの下部-番号のみ。※既にページ番号を挿入してある時は、挿入-フッター-フッターの編集。
  2. このとき、ヘッダー/フッターツールが開く。
  3. ページ番号-ページ番号の書式設定-開始番号に「0」を入力。これで2ページ目に「1」と表示される。
  4. オプションの先頭ページのみ別指定にチェック。これで表紙のページ番号が消える。

ヘッダー/フッターツールを開くのがポイント。これが最初の状態では開かない。フッターの編集をしようとすると開く。印刷レイアウトで表示されている場合はフッターのあたりをダブルクリックしてもよい。

カテゴリー: デジタル タグ: ,

暦を現代に当てはめるのは正しいか

2010 年 2 月 6 日 コメントはありません

温暖化が叫ばれているのに、昔の暦をそのまま、今も使うのはおかしいと思って、調べてみました。
暦で最も寒い時期とされるのが大寒。2010年ならば1月20日です。
逆に最も暑い時期とされるのが大暑。7月22日です。

つまり暦では最も寒いのは1月、暑いのは7月。

では実際はどうか。
気象庁のサイトに日本各地の観測開始からの毎月のデータが載せられています。
次は東京の年月別の値の載ったページ。

気象庁|観測開始からの毎月の値(東京)

そして1900年代、1950年代、2000年代とそれぞれ10年ずつの平均をとってみます。

1900 1950 2009
1月 3.0 4.3 6.3
2月 3.4 5.0 7.0
3月 6.6 8.3 10.0
4月 12.4 13.8 15.1
5月 16.5 18.0 19.1
6月 20.1 21.0 22.7
7月 23.1 24.9 26.4
8月 24.8 26.3 27.4
9月 21.5 22.7 24.2
10月 15.9 16.9 18.8
11月 10.1 11.6 13.6
12月 5.3 6.8 8.7

これを見ると、100年前に比べると、どの月も約3度、気温が上昇しています。
一方、月別の変動はほとんど同じで、昔も今も最も寒いのは1月、最も暑いのは8月となります。

暦と比べると、大寒は合っていますが、大暑はずれています。もっとも、これは小学校で習ったとおりなのですが。
この程度ならば昔の暦がおかしいというのは言い過ぎかもしれません。

暦は太陽の動きから作られたもので、実際の気温を元にしてはいません。
夏至や冬至、春分や秋分は太陽の動きから割り出されているので、今も昔も変わりません。
しかし、その他の暦(二十四節気)は単純に等分したものなので、実際とずれるのは当然です。
例えば啓蟄(虫が穴から出てくる)や霜降(霜が降り始める)は昔と今では気温が違うのだから、ずれるでしょう。
啓蟄は3月ですが、100年前の3月の気温は現在の1月の最も寒い時期に相当します。

カテゴリー: 小ネタ タグ: , ,

Wordのマクロでインデントを操作する

2010 年 2 月 4 日 コメントはありません

次のコードはマイクロソフトWordのマクロ(VBA)で文書内のすべての段落のインデントを10ポイントにする例である。

Sub インデントテスト()
For i = 1 To ActiveDocument.Paragraphs.Count
a = ActiveDocument.Paragraphs(i)
ActiveDocument.Paragraphs(i).Range.Select
With Selection.ParagraphFormat
.LeftIndent = 10
.FirstLineIndent = 0
End With
Next i
End Sub

段落の数を数え、それぞれの段落についてインデントを設定する。
LeftIndentにポイント数を入れ、左インデントを設定する。
FirstLineIndentは最初の行の左インデントを設定するためのもので、字下げやぶら下げをしない場合は「0」とする。

字下げやぶら下げをする場合は段落ダイアログを使う場合と違う挙動をするので注意を要する。

字下げをする場合は
LeftIndent = 10
FirstLineIndent = 10
とする。この場合、段落全体のインデントは10ポイントで、最初の行のインデントは20ポイントになる。

□□日本国民は、正当に選挙された国会におけ
□る代表者を通じて行動し、われらとわれらの
□子孫のために、

ぶら下げをする場合は
LeftIndent = 10
FirstLineIndent = -10
とする。この場合、最初の行のインデントは0ポイントで、二行目以降のインデントは10ポイントとなる。
つまり「LeftIndent」は二行目以降のインデントを表し、「FirstLineIndent」は最初の行のインデントと二行目以降とのインデントの差を表す。ぶら下げをする場合は、最初の行を「字上げ」すると考えると分かりやすい。

日本国民は、正当に選挙された国会における代
□表者を通じて行動し、われらとわれらの子孫
□のために、

実は、これだけならば、特にマクロを使う必要はない。
コードの3行目の「a = ActiveDocument.Paragraphs(i)」の部分を使えば、文字列の内容を判断してインデントの処理を振り分ける、というような使い方ができる。
なお、ここでは、インデントを直にセットする方法を書いたが、スタイルを使う方法もある。

カテゴリー: デジタル タグ: , ,

Wordのマクロで段落を操作する

2010 年 2 月 4 日 コメントはありません

マイクロソフトのWordでは、段落は「改行マークの次から改行マークまで」を指します。これをマクロ(VBA)で取得する基本的な方法は次の通りです。
なお、対象は現在の文書です。

内容 コード
最初の段落 ActiveDocument.Paragraphs(1)
最初の段落の範囲 ActiveDocument.Paragraphs(1).Range
最初の段落の範囲の文字列 ActiveDocument.Paragraphs(1).Range.Text
最初の段落の範囲の最初の文字 ActiveDocument.Paragraphs(1).Range.Characters(1)
段落の数 ActiveDocument.Paragraphs.Count
カテゴリー: デジタル タグ: ,

無料化される高速道路をGoogleマップで

2010 年 2 月 3 日 コメントはありません

いよいよ、高速道路の無料化が始まるようです。

国交省、無料化実験の高速道37路線を発表(読売新聞) – Yahoo!ニュース

国土交通省は2日、6月から全国の高速道路37路線の50区間、計1626キロで無料化の社会実験を開始すると発表した。
首都高速と阪神高速を除く全路線の18%に相当する規模で、全車種を対象に、時間帯や曜日に関係なく自由に通行できるようにする。
無料化されるのは地方の高速道路が中心で、首都高や阪神高速など、3大都市圏内や札幌、仙台、広島、福岡の各都市圏内と、これらを相互に結ぶ路線など、利用者が多い路線は、混雑を招くとして除外された。

そこでこれらの無料化される高速道路をGoogleにかいてみました。とりあえず、関東地方。


無料化される高速道路

こうやってみるとほんの一部ですね。

カテゴリー: 社会 タグ: , , ,