2016年12月23日金曜日

新横浜からパシフィコ横浜への行き方 How to get to Pacifico YOKOHAMA from SHINYOKOHAMA

1. Get ¥140 ticket of JR and ride to KIKUNA station.
monkeygirl
monkeygirl
都会の電車は乗り換えが実に大変である。新横浜で新幹線を降りたら、新幹線出口のすぐ隣のJR在来線出入口で一駅先の「菊名」までのキップを買え。¥140だ。JR在来線の出入口が通勤ラッシュで混雑していると、非常にわかりにくいので、注意が必要だ。慌てなくていい。すぐ隣にあるから。
2. Get a ¥160 ticket for YOKOHAMA station of TOKYU line and change a super express train for MINATO-MIRAI station of MINATO-MIRAI line.
 「菊名」で降りたら、東急線に乗り換えて、みなとみらい線の「みなとみらい駅」で下車という段取りになる。
 「菊名」では東急の横浜駅までのキップを買え。¥160だ。
 そして、みなとみらい直通の中華街行きの特急電車に乗り込め。
3. At MINATO-MIRAI station , please pay the fare from YOKOHAMA to MINATO-MIRAI. It's ¥180.
 「みなとみらい駅」で降りた後に横浜駅からの電車賃を清算せよ。¥180だ。
 菊名の東急乗り換え口では、どっちの方角に行くのかわからなくて、目を泳がせていると、駅員のオジサンが親切に教えてくれるはずだ。
 みなとみらい駅は、地下の深いところにある。パシフィコ横浜という行き先案内が出てるので、それに従い、ひたすら地上を目指せ。
 電車賃は2016年11月時点での料金だ。

2016年12月6日火曜日

スキカルの電池交換

 最近、日本のモノ作り技術に感動した。そのモノはNationalのバリカン、スキカル(ER505P-A)。 2001年に購入した。もう、愛用し続けて16年目ということになる。
 1度はメーカーで充電池交換した(2010年4月)。代金は¥2,625也。 ところが5年も経過すると、再び充電できなくなった。
fukakyon22
やむを得ず、電源アダプタで使っていたが、ブルブル震えて 電池が爆発しそうになっていた。
 今度は、修理に出すのが面倒くさいので、自分でやってみた。
まず、めがね用精密ドライバーでネジを回し、フタを外す。
 このバリカンは、バリカンの歯に、モーターと電池で構成され、 その構造は実にシンプルである。見事としか言えない。
 古い電池を外し、新しいニカド充電池を入れて、フタをして、 ネジを閉めれば、終わりである。
 ちなみに電池はネットで購入。送料込で¥451也。
 勿論、メーカー純正品は売っていないので、互換品と謳ってあるものである。
 今のところ、快調に動作している。

2016年12月2日金曜日

IE+VBAでWebページを自在に操るときにハマる罠で再び、ハマる

VBAでWebページを自在に操るときにハマる罠

であれほど注意しいたにもかかわらず、再び、出てもいないページを覗いて、思うように制御できない事態に陥ってしまった。Webページが複数のフレーム(frame)で構成されていると、最後のフレームが表示されないことがあるのだ。そして、そこに次のページを出す重要なボタンがあるにもかかわらずにだ。その原因はIEのバグと思われるのだが、マイクロソフトが相手の場合、自分が修正するしかない。その対応策としては、IEのフレームのページ(frame)出力を待つのに

For Each objWindow In objShell.Windows
If TypeName(objWindow.document) = 'HTMLDocument' then
Set objIE = objWindow
End If
Next
Do While objIE.Busy = True Or objIE.document.frames("frameA").document.ReadyState<>4
DoEvents
Loop
fukakyon
ReadyStateではダメだということだ。
では、どうするのかというとInStr関数を使うのである。

具体的には、そのページ(frame)に存在するユニークな文字列、例えばワタシのページ(frame)ではFukakyonが出ているかをInStr関数で判定し、出ていないならIE.refreshで、無理矢理出してやるのだ。出てくるまで、IE.resfreshしてあげるのである。つまり、マイクロソフトのバグをInStr関数とIE.refreshの組み合わせで乗り切るのだ。









WaitFukakyon:
For Each objWindow In objShell.Windows
If TypeName(objWindow.document) = 'HTMLDocument' then
Set objIE = objWindow
End If
Next
Do While objIE.Busy = True Or objIE.document.frames("frameA").document.ReadyState<>4
DoEvents
Loop
If InStr(objIE.document.frames("frame-name-A").document.body.innerHTML,"Fukakyon") = 0 then
objIE.refresh
GoTo WaitFukakyon
End If