仕事でパソコンに向かい、マウスを握り締めているとなんか疲れる。そこで、マウスを使わずに、キーボードだけでEXCELやOUTLOOK、Windowsを使うことにチャレンジしてみた。まず、DOS時代のファイラーとして、Java版のFDを採用。最初は調子よいのだが、時間がたつと様子がおかしくなる。いろいろなファイラーを試し、DYNAファイラーにたどり着いた。
2017年1月14日土曜日
現在のやり方を変えるとうまくいかないことも多々ある。しかし、今のやり方がベストとは思わない。あきらめないことが大切だ。
仕事でパソコンに向かい、マウスを握り締めているとなんか疲れる。そこで、マウスを使わずに、キーボードだけでEXCELやOUTLOOK、Windowsを使うことにチャレンジしてみた。まず、DOS時代のファイラーとして、Java版のFDを採用。最初は調子よいのだが、時間がたつと様子がおかしくなる。いろいろなファイラーを試し、DYNAファイラーにたどり着いた。
2016年12月23日金曜日
新横浜からパシフィコ横浜への行き方 How to get to Pacifico YOKOHAMA from SHINYOKOHAMA
1. Get ¥140 ticket of JR and ride to KIKUNA station.
都会の電車は乗り換えが実に大変である。新横浜で新幹線を降りたら、新幹線出口のすぐ隣の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月時点での料金だ。
![]() |
| monkeygirl |
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年も経過すると、再び充電できなくなった。
やむを得ず、電源アダプタで使っていたが、ブルブル震えて
電池が爆発しそうになっていた。
今度は、修理に出すのが面倒くさいので、自分でやってみた。
まず、めがね用精密ドライバーでネジを回し、フタを外す。
このバリカンは、バリカンの歯に、モーターと電池で構成され、 その構造は実にシンプルである。見事としか言えない。
古い電池を外し、新しいニカド充電池を入れて、フタをして、 ネジを閉めれば、終わりである。
ちなみに電池はネットで購入。送料込で¥451也。
勿論、メーカー純正品は売っていないので、互換品と謳ってあるものである。
今のところ、快調に動作している。
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

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)の長さによる調整だ。
具体的に言えば、EXCEL VBAのコードであるページを表示するため、クリック(JavaScriptなどで)した後、画面表示を待つため、タイマ(Application.Wait)で3秒待っていた訳だが、3秒では間に合わないこと(情報)があったのだ。
このトラブルへの対応は、タイマーを3秒から5秒とか、8秒に変更するというのが、一番、カンタンである。
自分が見たい情報が表示されているか否かをどうやって判断するかは、Web巡回プログラムではとても大切。一番、簡単なのが、タイマー(Application.Wait)の長さによる調整だ。
2016年9月25日日曜日
ブラウザがページを表示しないのあれば、Google Public DNSを試せ
![]() |
| CarryPamPam |
そんなときには、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
登録:
投稿 (Atom)




