元システムエンジニアのプログラム覚書と映画レビューその他(仮)

それほど映画に詳しいわけでもないけど、結構映画館に行くのが好きなおっさん元SEが観た映画をレビューします。ネタバレ的なこともいうので、これから観るって人は注意してください笑。たまにプログラムの覚書、グルメ、たわごと…などをぶちまけます。

メモリの解放(Application.CutCopyMode = False)で処理が遅くなる?

VBAでエクセルを処理する中でセルのカットやコピーをすることがある。
その際、そのままでいるとセルが選択されて点線で囲われたような状態のままになるが、
どうやらクリップボードに値が格納されている状態らしい。

そのままでも問題ないかと思われるが
メモリが解放されていないので
処理が重たくなる原因になる…

といった記事を見かけた。
(どこの記事だったかは忘れた。。。)

”なるほど…
じゃあ、Pasteしたあとは必ず
Application.CutCopyMode = False
とした方がいいだろう”

と早速そうしてみた。

そして実行してみた。


すると、
通常、3時間くらいで終わる処理が
一晩たっても終わっていない。

他にもいろいろプログラムをいじっていたので
最初は何が不具合を起こしているのかわからなかった。

一応動いているプログラムを途中で止めて確認しても
ループしている様子はない。
単純に処理が遅くなっている様子。

ログを見るとループで一行処理するのが10秒以上かかっているところがある。
”何で遅くなってしまった?まさか…”

と思い、
Application.CutCopyMode = False
をやめてみると
一行処理するのが1~2秒になった。

なるほど~

処理が遅くならないようにメモリを解放している処理だが
そこが何回もループするところに入れてしまうと
それ自体が処理を重くする原因になってしまうこともあるようだ。

 

 

 

seleniumでエラー…from unknown error: Runtime.executionContextCreated has invalid 'context'

VBAseleniumを使ってウェブスクレイピングのツールを作って使っている。

 

例えば、ホットメールの大量に送られてくるメールから

必要なメールの、その中身の必要な情報を抜き出して

エクセルに転記するってもの。

 

このseleniumってのがたまに情報が変わってエラーになることがある。

だいたいはクロームのバージョンが変わることによるもの。

 

そうなれば最新のクロームドライバーをダウンロードして

入れ替えればだいたいは解決する。

 

Chromeのバージョンを確認する

f:id:eiga_netabare:20210319155838j:plain

 

同じバージョンのクロームドライバーをダウンロード
http://chromedriver.chromium.org/downloads

 

f:id:eiga_netabare:20210319160040p:plain

 

Windowsならこれを選ぶ

 

f:id:eiga_netabare:20210319160145p:plain

 

②インストール先のクローム(chromedriver.exe)を入れ替える

 SeleniumBasicをダウンロードしてインストールした場所

   ↓

 C:\Users\〇〇〇\SeleniumBasic


  chromedriver.exe ←これを入れ替える

-----------------------------------------

で、解決するはずだが…

 

どうやら今回はそうはいかないみたい。

 

確か、昼に使っていたときは普通に動いていた。

 

で、夜にまた動かそうとすると

突然エラーになった…

 

最初は、

-----------------------------------------

 Dim slmDriver As Selenium.WebDriver

Set slmDriver = New Selenium.WebDriver ← ここでエラー

-----------------------------------------

のところで

ActiveXコンポーネントはオブジェクトを作成できません」

といったメッセージがでた。

 

で、SeleniumBasic をここから

https://florentbr.github.io/SeleniumBasic/

再度ダウンロードして

ダウンロードした「SeleniumBasic-2.0.9.0.exe」を右クリックして 

「管理者として実行」

として再インストールしたら

ここは通るようになった。

  ↓

Set slmDriver = New Selenium.WebDriver

 

でも、ここでエラーになる…

  ↓

slmDriver.Start "chrome"

 

ちなみにエラーメッセージはこれ

  ↓

-----------------------------------------

SessionNotCreatedError
session not created exception
from unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"D1C5837B5BD0823EC8820EE3489FBE17","isDefault":true,"type":"default"},"id":1,"name":"","origin":"://","uniqueId":"-2153874303347958642.8310257426078358944"}
(Session info: chrome=89.0.4389.90)
(Driver info: chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Windows NT 6.3 x86_64)

-----------------------------------------

 

コチラのページをみると

fu-tara.com

 

Chrome用の「chromedriver.exe」が古いことによるエラー」

とある。

 

でも、上記で書いてきた解決方法はは

このページで説明されていたことと同じはず。

 

でも解決できない…

 

 

確か、夜にエラーになったとき、

エクセルを立ち上げたらOfficeが自動的に更新されたんだけど

もしかしたら、

 それが影響しているのかも…

 

 <追記>-----------------------------------------

もう一度、seleniumBasicをインストール

(SeleniumBasic-2.0.9.0.exe をダブルクリック)して

ロームドライバを入れ替えた。

 

すると…

動くようになった!

 

たぶん、確かにOfficeのアップデートで

ActiveXコンポーネントはオブジェクトを作成できません」

 と、いきなりエラーになったのは関係がありそう。

 

でも、もしかしたら

その後、インストールし直してから

ロームドライバを入れ直すのを忘れていたのかも…💦

 

 

ま、とにかく再インストールしたら

必ずクロームドライバも入れ替えなきゃいけないってこと笑

 

解決、解決!

 

 

 

 

 

 

 

 

 

 

 

 

 

ソフトバンクの機種変で得する裏技とGALAXYが10万以上安く買えた話

充電が持たなくなったiPhoneで見えたソフトバンクの企業姿勢

「世の中、とりあえずドコモがいいでしょ!」
という流れがあった昔、それに抗いたい気持ちがそうさせたのか、
携帯を持ちだしたのがたまたまソフトバンクだった。

 

そしてソフトバンクスマートフォンiPhoneを出した。

 

だから、iPhoneにこだわりたいなんてこともなく
たまたま始めて手にしたスマホiPhoneだった。

 

今でもそうだけど
昔から特に新しいものに興味を持つこともないので
端末は調子が悪くなるまで使い続ける。

 

昔はそのまま機種変更した方が
なんか得になった気がしていたが…。

 

最近まで使っていたiPhone7も
どうしようもなく充電が持たなくなってきて
いいかげん買い替えようと考え出した。

 

いままで通り、ソフトバンクで機種変更をしようと思って
ちょっと調べてみたけど、
昔に比べてお得になる気配がない。。。(へんな表現だけど)

 

 

「いっそ、iPhoneやめて、アンドロイド端末にするか…」

 

そう考えてみて
聞いたところによるとGALAXYがいいらしい。

 

で、GALAXYで探してみようとしたところ…
なんとソフトバンクにはGALAXYがないではないか!

 

 

「もう何年もソフトバンク一本だったのに、
今更キャリアを変えるとお得になる点がなくなる…」

 

勝手にそう思い込んでいたので
キャリアを変えるのはできればやりたくなかった。

 

じゃあ、やっぱりiPhoneにするか…

 

かといって、最新のiPhone11に群がるつもりはない。
少し型落ちしていても必要な機能さえあればいいし、
値段的にもいいだろう。

 

そして検討したのがiPhoneXR。

 

あとはどこで買うか…

 

量販店がいいのか、
直接、ソフトバンクショップで買うのがいいのか、
はたまたネットショップで買うのがいいのか…

 

とりあえず、値段とかを調べいるうちに
どうやらソフトバンクだけやけに高いみたい。。。
(僕が調べて感じたことなので正確な情報ではないかもしれないけど)

 

もう、そうなるとだんだんどうでも良くなってきて
この際、「キャリア変えだ!」という判断になった。

 

そう考えたとたん、
もうソフトバンクiPhoneに縛られることもない。
なんか、すごく自由になった気分になった。

 

ソフトバンク長期ユーザーが素直に機種変更するとバカを見る…

MNPのやり方も調べてみると
直接、お店に行って乗り換えしようとしても
できるかもしれないけど
予め、MNP予約番号を取得しておいた方がいいらしい。

 

というわけで
MNP予約番号を取るためにソフトバンクに電話をした。

 

しかし、これがまた繋がらない…

 

わざと出ないんじゃないか?
って思うくらいつながらない。

 

スピーカーフォンにして呼び出しっぱなしにして
30分くらいしてからやっとつながった。

 

そしてMNP予約番号を取りたい旨を伝えると
一応、どこに変えるのかとか、
どういう理由なのかとか聞いてくる。

 

そのあたりは正直に
iPhoneXRを調べたけど他社の方が安いようだし、
ソフトバンクにこだわる必要もないので…
と答えると
ここで面白いことを言いだしてきた。

 

「今、乗り換えせずにソフトバンクのまま機種変更すれば
30000ポイントもらえる」
といった内容。

 

「それって、普通に機種変更した人はもらえないの?」
と聞くと
「今、この場で返事をもらえた方のみです」
だって。

 

「ということは、一度、ゴネルともらえるってことね笑」
なんて、ちょっと意地悪な返しをしてみた。

 

 

まぁ、引き留めたい気持ちはわかるけど
でも、いままでずっと続けてきてくれているお客に対して
失礼じゃないの?

 

そういうお客にこそ、
「今回もソフトバンクを選んでいただきありがとうございます。」
っていって割引ポイントをつけるとかするのが
まっとうなサービスなんじゃないのかな。

 

なんて思うと、一気にソフトバンクを解約したくなった。

 

まぁ、必ずこうやってゴネルと30000ポイントもらえるかはわからないけど
もし、ソフトバンクで機種変更を考えているとしたら
一度、「MNP予約番号を取りたい」っていってゴネてみるのもアリだと思う。

 

っていうか、
素直に機種変更なんてしたらバカを見ることになる。

 

 

渋谷のヤマダ電機神対応が素晴らしい!

ソフトバンクじゃないのなら
GALAXYを選べる!

 

そして、そのGALAXYも最新のものでなくてもいい。
ある程度、いい機能があれば問題ない。

 

いろいろ選んで見てみたけど
どうやらGALAXY NOTE9が良さげ。
タッチペンでいろいろ使えるのが面白そう。

 

 

キャリアはとりあえずauにすることに。
auとドコモだと、特にこだわりはないけど
なんとなくauだとauマンデーとかで月曜に映画に行くと安くなるとか、
何となくいいような感じがしていたし、

 

昔からドコモは殿様商売しているなんて話もあったから
逆に敬遠したかった気持ちもある。

 

GALAXY NOTE9を求めて渋谷のヤマダ電機へ行ってみた。

 

auの店員を捕まえて
MNP(乗り換え)で、ソフトバンクiPhoneからGALAXY端末を考えているんですけど…」
というと
「ということは、特に最新の機種にこだわることではなく、
できれば値段を抑えたいっていう感じでしょうか?」
と返ってきた。

 

お?
こっちの感じていることをズバリ見抜いてきた。
正に痒い所に手が届くって感じがビシバシ伝わる。

 

以前にも渋谷のヤマダ電機Wi-Fiを買ったことがあるけど
その時も気持ちよく買い物ができたことを覚えている。

 

結局、GALAXY NOTE9はそこでは在庫がなかった。
で、ヤマダ電機全店でそれがあるか調べてもらったが

 

どうやらその機種はヤマダ電機では全滅だった。

 

できれば、その店員から買いたかったけど…
仕方がないので店を買えることにした。

 

 

機種にこだわるのならキャリアへのこだわりは捨てるべき

auのGALAXY NOTE9を求めて
その後、ビックカメラヨドバシカメラ
秋葉原まで行って歩き回った。

 

で、ふと思ったのが
auにこだわる必要もないな。。。

 

ドコモだとどうだろう…

 

秋葉原ヤマダ電機に行って
今度はドコモの店員に
GALAXY NOTE9があるか聞いてみると

 

「ありますよ…。
でも、そんなに安くはなりません。」
といったちょっと強気な姿勢。

 

確かに、最近では少し前の機種なら
タダに近い値段で手に入れることもできたりすることもある。

 

具体的に聞くと
定価より2万円くらいは値引きできるらしい。

 

この際、欲しくなったら少々高くついても買いたくなるので
それでお願いすることにした。

 

購入、契約するにあたり
いろいろ聞いていくと
「初月はこれとこのアプリを使ってください」とか
安くする代わりの条件が多少は出てくる。

 

やや面倒ではあるけど
まぁ、許容範囲。

 

プランも僕の場合、
電話はあんまりしないし、
ネット接続もWi-Fiを使っているので
あまり容量が多く使えるものでなくていい。

 

ドコモの場合、今は
ギガホーダイとギガライトという2つのプランしかないみたい。

 

ギガホーダイは大容量使いたい人向けで
ギガライトは
1ギガまでなら~円、
3ギガまでなら~円、
5ギガまでなら~円、
7ギガまでなら~円となっていて
それ以上になると速度が遅くなるらしい。

 

ちなみにauの場合は
7ギガまでは安い値段設定になっているけど
それ以上になると速度が遅くなるのではなくて
高い料金が課金されるようになっているらしい。

 

僕の場合、それならauのプランよりドコモのプランの方がいいみたい。
知らない間に気づくと高く請求されるより
速度が遅くなった方がまだいい。
Wi-Fiにつなげばいいだけだし。

 

 

GALAXY NOTE9をお得に買えるかもしれない秘策を暴露!

ドコモとの契約、GALAXYの購入手続きを進めていくうち
「ところで家でもインターネットは使われていますか?」
といった話になった。

 

もちろん、家でもインターネットは使っている。
ケーブルテレビのやつで
電話と合わせて月々4000~5000円くらいだったと思う。

 

どうやら、それをドコモ光に変えると
さらにdポイントが30000円分と商品券がつくといった提案だった。

 

だいたいこういうのは
また切り替えやらルーターを変えたりする必要があるので
ちょっとめんどくさいと思って敬遠することが多い。

 

でも、どうやら値段も少し下がるし
お得なポイントがやたら多い。

 

よって、同時にそれもお願いすることにした。

 

ただ、その場合もやはり
一応、すぐに解約することは可能だけど
初月はこれとこのアプリを使うことが条件だったりする。

 

(ちょっとめんどくさいけど、まぁいいか。。。)

 

そして、実際にGALAXY NOTE9がいくら値引きされるのか?

 

「ドコモ光の契約も一緒に行うということも合わせると
当初言っていた2万円引きより、もう少し安くできるかも…」

 

といってその営業マンは上司に返事を聞きに少し席を外した。

 

そして戻ってくると
「なんと、5万引けます!」

 

お~!
これには思わず顔がにやけてしまった笑

 

 

定価、12万弱のものが7万弱になった。
そして支払いもちょうどお金があったんで
一括で払ってしまうことにした。

 

そうすると
またまたおまけに
ヤマダポイントが7000ポイント以上ついた。

 

 

端末代で5万円
dポイント3万円
商品券2万円分
ヤマダポイント7000円

 

合計10万7000円得しちゃったことになるのかな笑

 

というわけで
企業からしても
「ついで買い」
みたいなところをつついてくるけど
それに乗っかることでかなりお得になることもあるので
素直に乗っかるのも悪くない。

 

もちろん、それの良し悪しは慎重に選ぶことは大切だけど。

 

 

 

使って分かった!GALAXYの感動ポイントとiPhoneの不便さ

世の中がiPhone9だとか騒いでいるのに逆行して
GALAXYに変えた。

 

なんでiPhone
なんでGALAXY?

 

ここでは徹底して比較することはしないけど
簡単に感じたことをまとめてみる。

 

 

★カメラの性能
GALAXY NOTE9のカメラは
何気に撮った夜景もすごくキレイに撮れる。
明らかに今までのiPhone7とは雲泥の差がある。

 

だた、iPhoneも最新機種と選ぶとかなり良くなっているんだと思う。

 

 

 

★容量の拡張性

 

そもそもiPhoneで気に入らない点の一つとして
SDカードに対応していないというところ。

 

僕の場合、音楽や動画は別に持っていた音楽プレーヤーを使っていたので
iPhoneに入れて聞くという発想がなかった。

 

だから、容量も少ないものを選んでいた。
でも、ある時にスマホに音楽や映画を入れて使い出したのだけど
32GBのiPhone7だとすぐに容量がいっぱいになってしまう。

 

こんな時、SDカードが使えればそれで容量は補えるのだけど
iPhoneの場合、最初に買った容量で決まってしまうので
全く自由度がない。

 

今回、GALAXYにして、
早速SDカードを512GBを買って(アキバで安い奴だと6000円くらいで買えた)
入れて見たら

 

今まで遠慮がちに入れていた音楽や動画を
ガンガン入れても、全然容量に余裕ありまくり!

 

本体自体も128GBあるんで
この先もまず、容量不足で困ることはないと思う。

 

 

★音楽、動画の扱いがラク
iPhoneの場合、パソコンにつないでも本体に入れている
音楽や動画を見ることができない。

 

アップル系のものはiTunesってソフトを使って取り入れないといけない。
どうもそれがすごくイヤ。。。

 

だいたい、取り入れた音楽とかフォルダ管理できない。

 

僕がiPhoneに音楽を入れたがらなかったのは
そういった点があったためでもある。

 

その点、GALAXY(おそらくアンドロイド端末は全て)の場合、
パソコンにつなぐとそのままエクスプローラで階層が見えるし、
ドラッグアンドドロップでファイルの出し入れができる。

 

これを僕としてはスッゴク心地いい!

 

しかも、音楽や動画だけでなく
エクセルファイルも入れてみたけど
ちゃんと開いてみることもできる。
パスワードがかかっているファイルも
開く時にパスワードを聞いてきて
開かせることができる。

 

さすがにマクロとかは機能しないけど
重要な資料とかパソコンに入れているものが
手元にパソコンを開けない状態でも
スマホに入れておけば見ることができるというのは
すごく便利になりそう。
(この点は、機種にインストールされているアプリに依存するかもしれない)

 

 

GALAXYを手に入れてざっと感じたところはこんなところかな。

 

 

 

スマホ買ったらケースも買わなきゃ…
   ↓


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

企業からの返信メールでわかる企業姿勢

ファーストフード自体がすごく好きというわけではないが
最近はコンセントフリーになっているところが多いので
ファーストフード店で
パソコン作業をやることが多いのだけど
ふと感じたことがあった。

僕がよくいくのは
ケンタッキー、バーガーキングマクドナルド。

この3つで共通して言えるのは
セットメニューがあるのだけど
たいていセットでバーガーと一緒についてくるのが
フライドポテト。


バーガーキングなんて
バーガーの単品価格と
アプリのクーポンを使ったセットメニュー
(バーガー、フライドポテト、ドリンク)
の値段が一緒だったりする。

そうなると
当然、アプリのクーポンを使って頼んだ方がお得。

だけど、
個人的にちょっと嫌なのが
フライドポテト。

フライドポテト自体の味は
そんな嫌いというわけではないのだけど
どうもダイエット的にも悪い気がしてならない。
(炭水化物と油の塊だもんね)

実際、Mサイズのフライドポテトを全て食べた後って
なんか胃がもたれる感じがする。

あればつい食べてしまうから
できればない方がいい。

でも、セットメニューだとドリンクもついてくるから
単品で買うより安い。

「じゃあ、ポテトは要らないっていえば?」

うん、それができればいい。
でも、せっかくくれるものを
「要らない」っていうのも
なかなかできるようでできない笑

「できれば、それをナゲットに交換してくれないかな…」

なんてふと考えた。
もちろん、そんなこと
いきなり店頭でいうほど
図太くはいられない。

仕方がないから
セットメニューで頼んでついてくるフライドポテトは
3分の1くらい食べて
あとは捨ててしまうようにしている。


もし、セットメニューでのサイドメニューが
ポテトだけでなく
ナゲットとかパイとかもあれば
もっと頼みやすくなるんだけどな…

なんて思いついたんで
それぞれのホームページから
意見を送ってみることにした。

「セットメニューには
ポテトがついていますが、
ナゲットやパイなどがセットになっていれば
もっと頼みやすくなると思います。」

といった内容で。

そして次の日、
それぞれからちゃんと返信をもらった。

そして、
K社とB社においては
「貴重な意見ありがとうございました。
早速、担当部署に伝えて
今後の参考にさせていただきます。」
といった内容。

で、問題のM社の回答内容…
「~ありがとうございます。
弊社でセットメニューをご注文いただきました際、
サイドメニューも各ご用意させていただいております。
…」
そんで、その下にメニューページへのリンクを貼っていた。

「はぁ?」
っては感じでしょ…笑


こっちの言いたいことは
セットメニューにつけるのは
ポテトだけでなく、
ナゲットやパイもあれば…

ってなことをいっているのに
「ほかのサイドメニューはこちらに記載しているので見てください」
って…

あまえ、あほか?笑

 

 

 

電動自転車でどこまで行ける?

充電が長持ちしてカッコよくてカゴもついている電動自転車

電動自転車は充電してどれだけ持つかは
ものによって変わってくる。

今回買った電動自転車

 

 


 

 

やはり、ちょっとはカッコいいものを求めるとなると
ママチャリタイプは避けたい。

 

ママチャリタイプでなく、
しかもカゴもついているので実用的。

バッテリーはリチウムイオンバッテリー15.4Ahとなっているけど
それが一体どれくらい持つのか?

よくわからなかったけど、
自分としては大井町~渋谷、六本木あたりが往復できればいいかな…
って思って購入してみた。

いざ、乗ってみると
乗り心地は全く問題なく、とてもいい。
問題はどれくらい充電が持つのか?

この電動自転車は充電の残量がパーセント表示や残りの走れるキロ数で表示される。
だから乗りながらあとどれくらい走れるのかは
目安が付きやすい。

実際、乗ってみたところ
大井町~新橋、有楽町まで行ってみたところ、
往復してもバッテリーの減りは約17%くらいと、20%も減らない。

大井町~渋谷とか大井町~新宿あたりまでいってみたけど
だいたい1時間くらいかけて遠出するのを往復しても
減るのは約20%くらいな感じかな。

つまり、かなりな遠出の往復が出来て、
しかも毎回充電しなくても大丈夫ということがわかった。


ちなみに、
大井町~渋谷までだと約30分~40分
大井町~新宿だと約1時間弱くらい。

でも、ずーっと楽に漕ぐことができるから
そんなに疲れない。

むしろ夏場は走っていて、
風がとても気持ちいい。

 

電動自転車で出かける時は止める場所に注意

こうなると、いろいろなところに電動自転車で散策したくなる。
でも、ここで注意するべき点がある。
それは止める場所。

原動付自転車(原チャリ)に比べ
自転車はそれほど厳しく交通ルールに縛られない。
(本当はダメなのかもしれないけどね…)

そして、原チャリだと昔ならちょっと路肩に止めることができたけど
今だとすぐに違反のシールを貼られて罰金を取られてしまう。

自転車の場合も、
原チャリほど罰が厳しくないとしても、
止めちゃいけないところに止めていると
運が悪いと撤去されてしまう。
そうなるとわざわざ取りに行って
3000円くらいか、お金もかかることになる。


そうなると、
行った場所でちゃんと止められる場所があるか、
認識しておく必要がある。

まぁ、おそらく有料の駐輪場はいくつかはあるだろう。

 

川崎のお得な駐輪場

有料の駐輪場でよくあるのが
最初の2時間は無料で、そのあと1時間ごとに100円とかいうやつ。

そういうところでも
あれば止めておいた方が安心できる。
例えば、5時間止めておいた場合、
300円かかることになるか。

1時間ごとにかかる値段が違うと
もっとかかるかもしれない。

でも、数百点をケチって
適当なところに止めておいて
撤去されてしまったなんてなると
ほんとにバカらしいので
素直に有料の駐輪場に止めた方がいいだろう。


ただ、川崎に電動チャリで行ったとき、
そういうところでも止められるところがないか
探していたけど、なかなか見つからなかった。

でも、よく探して見つけたところが
一日中止めておいても120円ポッキリというところ。

結構、たくさん止まっているから
スペースがあるかどうかはわからないけど
空いていれば、そこを監視しているおじさんに
120円払えばシールを貼ってくれて
一日中置いておける。

場所はチネチッタの入り口の前の通りのところ。

 

 

池袋のグルメといえばジャンボ餃子…そして電源カフェ

池袋のジャンボ餃子 開楽

池袋というところは
あまり行かなくなったけど
ために行きたくなる。

というのは開楽というジャンボ餃子の店があるから。

ここは見つけてから数年になるけど
たまに食べたくなる。

「餃子食った!」
って気になれる。

羽根つきタイプじゃなく、
皮がもっちりして
餡もしっかりと入っていて美味い!

 

 

 

 

池袋でのパソコン作業

池袋の電源カフェを探したところ、
ベッカーズが使えるようになっていた。


最近はフリーでコンセントが使えるようにしてくれているお店が増えてきたので
外でパソコン作業をすることが多い。

電源カフェになっているお店といえば
スターバックスエクセルシオールドトールカフェ、
マクドナルド、ケンタッキー…

などなど、
いろいろとあるけど
どこの店舗でもそうだとは限らない。

中には、ちょっと前まで
コンセントが使えていたのに
使えなくしているお店もある。

池袋の西口には何件かスターバックス
ドトールもあるけど
確かめたお店では電源が使えるようにはなっていなかった。

もちろん、調べればきっと他にも使える店はあるのだろうけど
なかなか見つからない。

そして、東口に行ってみようかと思い、
駅に戻ってちょっとのぞいたベッカーズ

なんとコンセントフリーとなっているではないか!

普段、あまりベッカーズなんていかないけど
電源カフェになっている店舗が多いのなら
これからベッカーズに行く機会は増えそう。

 

 

 

 

instr関数が大文字と小文字の区別をしない?

アクセスVBAでプログラムを組んでいる。

で、ある変数の中に指定した文字列があるかどうかを調べるとき、
instr関数というのを使っている。

例えば、すごく雑な例だけど

Dim strA As String
Dim strB As String
strA = "123A"
strB = "3b"

If InStr(strA, strB) <> 0 Then
MsgBox "ある"
Else
MsgBox "ない"
End If

みたいに。

この時、当然、「ない」となる。
ちなみに、instrの返り値はその文字がある場所を返すので
上の場合

strA = "123A"
strB = "3b"
MsgBox InStr(strA, strB)

とすると"0"と表示される。
 

これをこうしても

 strA = "123A"
strB = "3a"
MsgBox InStr(strA, strB)

"0"と表示される。

つまり、大文字と小文字の英数字を判定していることになる。

もし大文字、小文字の区別をしたくないという場合は
「instrの引数に"vbTextCompare"の指定をする」
ということになる。
 
 
で、問題は…
どういうわけか、仕事場の環境では
 
strA = "123A"
strB = "3a"
MsgBox InStr(strA, strB)

とした場合、"3"が返ってくる。

つまり、大文字であろうが、小文字であろうが
「"a"と"A"は同じ」
というようになってしまう。

これではよろしくないので
大文字、小文字の区別をさせようとするには…

と調べたところ、
「instrの引数に"vbBinaryCompare"の指定をする」
といったことが書かれているのを発見。

MsgBox InStr(strA, strB, vbBinaryCompare)

んで、やってみたんだが
「型が一致しません」
というメッセージが出てエラーになってしまう。

どういうこっちゃ…


と調べていくと、どうやら
instr関数には引数がいろいろあって、
通常は省略可能なものが多く、

MsgBox InStr(strA, strB)
こんな書き方だけでいいんだけど、
"vbBinaryCompare"
とか
"vbTextCompare"
といった引数を指定する場合は
「何文字から検索するか?」
というものも同時に指定しないといけないらしい。

で、
strA = "123A"
strB = "3a"
MsgBox InStr(1, strA, strB, vbBinaryCompare)

とすると、ちゃんと大文字と小文字の区別をしてくれて
"0"が返るようになった。

instr関数の引数に関して書かれているサイトはいろいろあるみたいだけど

"vbBinaryCompare"
とか
"vbTextCompare"
といった引数を指定する場合は
「何文字から検索するか?」
というものも同時に指定しないといけない
ということを書かれているものはあまりなかったと思う。