昨日のワールドカップ「ドイツ-イングランド」戦。
主審のラリオンダさん。痛い判定ミスが判定がありましたね。。
何度か見かけたなぁ、と思って調べていたら。。
テレビでですが、二回ほど、観たことがありました。
– – –
FIFAコンフェデレーションズカップ2003
日本 – コロンビア戦
第25回TOYOTAカップ
FCポルト(ポルトガル)対オンセ・カルダス(コロンビア)
日本 – コロンビア戦については、当時、レビューを書いています。
http://www.konesite.com/reports/
左メニュー、「日本-コロンビア 03/06/23」のところをクリックすると、以下のページが表示されます。
http://www.konesite.com/standing/030623confede.html
この「日本 – コロンビア戦」での彼の主審ぶりについては、僕は絶賛しています。
彼のいいところは、とにかく、ポジショニングと展開の読みの速さ。
特に、後半5分くらい。突然しかけた山田があげたアーリークロスが高原にダイレクトに渡り、そのままヘディングシュートとなったシーン。
ポストに当たり得点にはなりませんでしたが、このときの、山田がしかけた瞬間のこの主審の動きだし、高原にボールが行った段階での位置取り等は、もう、完璧!でした。
今回のゴール判定の件については、これ以上書きませんが、実力のある審判員だと思います。。
さてさて。
で。
そんな渦中の(?)ドイツからお便りが来たので、ご紹介。
はるばる、ドイツから達人養成塾のマクロ初中級講座を受講に来られている、Tさんからです。
小川さん
ドイツのTです、こんにちは。
今日は特に質問ではなく、最近ちょっとしたトラブルがありましたので、それを報告をしたいと思い、メールを差し上げました。
(すでにご存じであれば無視して頂いて全く問題ありません。)
仕事ではよくユーザーフォームのコンボボックスに下記のようなマクロを書いて4月から3月までを選択できるようにしています。
Private Sub UserForm_Initialize()
Dim c As Integer
Dim dt As Date
dt = #4/1/2010# ‘year is what ever ok
For c = 0 To 11
cboMonth.AddItem Format(dt, “mmmm”)
dt = dt + 31
Next
End Sub
これを実行するとApril, May, June, ・・・・・Marchと選択できるようになります。
そして次の段階でSelect Caseを用いて以下のように変換することが多いです。
(並び替えをするため)
April —> 4
May —> 5
June —> 6
(以下省略)
さて、自分のPCでは問題はなかったのですが、ドイツ人の同僚が試したところ
上手くいったり、失敗したりでした。
cboMonth.AddItem Format(dt, “mmmm”)
というのも上記の部分でドイツ人のパソコン(excelは当然ドイツ仕様)だと英語表記ではなく、
ドイツ語表記になってしまうからです。ご参考ですが以下がドイツ語表記です。
April, Mai, Juni, Juli, August, September, Oktober, November, Dezember, Januar, Februar, März(Maerz)
4月の場合はドイツ語と英語は同じなのでselect caseで問題なく作動、 5 – 7月はエラー, 8月はOKという感じです。
結局はselect caseでドイツ語表記の月名も追加して、無事に解決です。
他のローマ字を使っている国であれば、その国の言語で表記されるかもしれないですね。
何かの参考になれば幸いです。
で、僕がした回答は、以下のような感じ。
達人養成塾 小川です。
おもしろいですね。
確か Monthaname関数は、インストールしたExcelの Application.International(xlCountrySetting) プロパティに応じた値を返します。
ドイツ語版で以下のマクロを実行すると、文字列「Mai」を返すのではないでしょうか。
ちょっと、試してみてください。
Sub monthametest()
Debug.Print Application.International(xlCountrySetting)
Debug.Print MonthName(5)
End Sub
そして、Tさんから、また返信をいただいた
早速下記のものを実行してみたところ、私のパソコン(日本語仕様)では81, 5月と表示され、ドイツ語版だと49, Maiと表示されました。
最初の番号は国際電話番号ですね。
確かに日本は0081で、ドイツは0049です。
やはりマイクロソフト社はこのような[snip]、それに対応するコードをすでに開発していたのですね。
まだまだ新たに発見することが多いですね。
今回のケースでは、
cboMonth.AddItem Format(dt, “mmmm”)
この箇所をMonthname関数に変えるとすっきりしますね。
ご教授、ありがとうございました。
p.s.
来年の2月か3月に一時帰国を予定していますので、その際にまた小川さんのセミナーを受講できればと思っています。
Application.International プロパティなんて、普通調べませんよね (^^;
そして、 xlCountrySetting は、国際電話番号を流用した番号を返すとは。
(戻り値のデータ型は、Double型でした。Application.Versionとかとは違うんですね)
この、Application.International プロパティ。
いろいろな引数を取り得るので、気になるあなたは、ヘルプ等で調べてみてください。
思わぬ発見があるかもしれません。
僕も、今回、
Application.International(xlMinuteCode)
なんていう引数を発見しました。
これ、戻り値は”m”なんですけど。
なんと、月を示す記号も、各国語バージョンで異なるらしいです!
うーん、おもしろい。
こういうおもしろい質問があると、僕も脳が刺激されます v(^^*