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

2016年10月16日日曜日

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

 1年前、IE+VBAで仕事に必要な情報をWebページを巡回しつつ、EXCELシートにコピーするプログラムを書いたが、最近、トラブルがあり、実に「単純なミス」を犯していることに気づかされた。
 そのトラブルは、Webページの表示にたまに時間がかかることがある(ネットワークの負荷や、自分のパソコンのCPU負荷などによる)という、ごく当たり前の現象をきっかけに発生し、Webページの情報をEXCELシートにコピーできなくなるというものであった。
 通常、IE+VBAでページ表示を待つのに、タイマー(Application.Wait)で待つという技を使うが、少し待って参照してもまだ表示されていない「情報」、例えば、次のページがあるか否かといった情報が表示されていないこともあるということだ。
 具体的に言えば、EXCEL VBAのコードであるページを表示するため、クリック(JavaScriptなどで)した後、画面表示を待つため、タイマ(Application.Wait)で3秒待っていた訳だが、3秒では間に合わないこと(情報)があったのだ。
 このトラブルへの対応は、タイマーを3秒から5秒とか、8秒に変更するというのが、一番、カンタンである。

 自分が見たい情報が表示されているか否かをどうやって判断するかは、Web巡回プログラムではとても大切。一番、簡単なのが、タイマー(Application.Wait)の長さによる調整だ。


2016年9月25日日曜日

ブラウザがページを表示しないのあれば、Google Public DNSを試せ

carry pam pam
CarryPamPam
ブラウザがページがみつかりませんという場合、あなたのプロバイダーのDNSが死んでいる可能性がある。というのも、最近、日本のDNSサーバはDDoS攻撃を受けているらしい。あなたが契約しているプロバイダのDNSもターゲットになっているはずだ。
 そんなときには、Googleガ提供するDNSサーバGoogle Public DNS serverを使うと問題が解決するかもしれない。
 linuxなら、一般的には、/etc/resolv.confの先頭に
nameserver 8.8.8.8
 nameserver 8.8.4.4
を書けばよい。

 linusでもNetworkManagerを使用している場合、ネットワーク接続のアプレット(nm-connection-editor)のIP4セッティングのタブで方式に「自動(DHCP)アドレス専用」を選択し、DNSサーバに8.8.8.8,8.8.4.4を指定すればよい。
「自動(DHCP)アドレス」を指定すると、ダメ。 「自動(DHCP)アドレス」を指定すると、DHCPサーバがDNSサーバを自動で探し設定するので、8.8.8.8や8.8.4.4が先頭にならないのである。

2016年9月12日月曜日

EXCEL VBAで、 EXCELの残骸を残さず、綺麗に終了させる技-- Quitを出した後にCloseを出せ。quite then close

 地味な手仕事でも、面倒くさいことでも、ややこしいことでも、丁寧にやり遂げる。
 VBAでも綺麗にEXCELを終わらせておく。そんな些細なことも大切だ。

 そのポイントは、Quitを出した後にCloseを出せってこと。
 この技が必須(マスト)になるのは、excel vbaで作った複数のツールをバッチで動かすときだ。ひとつ、ひとつ、ツールの完了同期を取りながら、動かす訳だが、この技を使わないと、excelの枠(残骸)が残ったままで、ツールが完了しなくなる。自動化を実現するために必須の基本中の基本の技である。

Application.Quit
Workbooks(wk).Close

a flying hat and a girl


2016年8月21日日曜日

slackware 14.2 libssp.so.1 not found

 Slackware 14.2でrawファイルをwavファイルに変換しようとして、soxコマンドを叩くがlibsspがないよ(libssp.so.1 not found)というメッセージで拒否されたら、gccのインストール不足が原因かもしれない。そしたら、単にそれをインストールしさえすればよい。

When you change a raw faile into a wav file,
If a sox command failed with the mesage that libssp.so.0 not found, all you have to do is just install gcc-5.3.0-i586-3.txz.



a summer girl in 2016
a summer girl in 2016 by gimp































































 このモジュール依存に気がついたのは、slackpkg file-search libsspでgccが出てきたからだ。「絶対、諦めるな。知っていることをすべて、試してみろ。」

Why I found this module dependency was I noticed gcc includes libssp by the command result of "slackpkg file-search libssp".
Never give up. try everything you know.

 宮部みゆきの「名もなき毒」を読んだ。なぜか、ローレンス・ブロックの酔いどれ探偵マッド・スカダーのごとき悲哀を感じる。 人はほんの少しの行き違いで過ちを犯すのかもしれない。自分こそが被害者と思いがちだ。