VBAの条件評価式は短絡評価にならない

久しぶりにVBAをせこせこと書いているわけですが、関数の概略とかそういうのを全部自力で書くというのは骨の折れるもので、なんとなくの内容をClaudeに教えて関数を作ってもらいます。

当然、そのままでは動くわけもないのでエラーをつぶしていくわけですが、ぱっと見で何が誤っているのかがよくわからないエラーにぶつかりました

Dim tableNames(5)
For i = 1 to 5
    If i > 2 And tableNames(i) <> tableNames(i - 1) Then

ちょっと内容は端折りますが、2つの条件式があった場合に、一般的なプログラミング言語であれば一つ目の条件式評価の結果、以降の条件式を評価する必要がない場合はそもそも評価が実行されないのですよね。

これによって、Nullチェックや配列のインデックス範囲外アクセスを防いだりします。
ところがVBAでは、すべての条件式が評価されるようです。

初めて知りました。。。

何というか、やっぱりVBAは独特だなぁ。。。と

dyneinを使ってエクセルのデータをDynamoDBへImportする

少し前に紹介したDynamoDBの操作ツールであるdynein。実際に少し使い始めています。

dynein
https://github.com/awslabs/dynein

取り込むデータはExcelで作成して、それを元にCSVファイルを作成、dyコマンドで取り込もうとしたのですが、、、CSVファイルの取り込みがイマイチでした。。。

そもそも、カラムとしてリスト形式の値を持つものもあるので、CSV形式だとちょっと無理があったかもしれませんが、それにしてもCSV形式の取り込みとしては少し癖がありそうでした。

というわけでJSON形式での取り込みに変更しました。

エクセル上のデータをJSONへ吐き出す方法に関しては、VBAで書いたのですが、VBAでUTF-8形式のファイルを作成するのって結構面倒なんですね。。。

Sub SaveFileUTF8WithoutBOM(filePath As String, dataString As String)
    Dim adodb1 As Object
    Dim adodb2 As Object

    Set adodb1 = CreateObject("ADODB.Stream")
    Set adodb2 = CreateObject("ADODB.Stream")

    With adodb1
        .Charset = "UTF-8"
        .Open
        .WriteText dataString
        .Position = 3
        With adodb2
            .Type = 1
            .Open
            adodb1.CopyTo adodb2
            .SaveToFile filePath, 2
            .Close
        End With
        .Close
    End With
End Sub

一度、ファイルストリームを開いてから、BOM分だけずらし、その内容をコピーするという、何というかバイナリ操作が入るような。。。

VBAもいまだにこういうことをしないとUTF-8を書けないのだろうか?という気になります。もうちょっと何とかならんのですかね。

iPhone整備済み品の購入

先日、iPhone5sだとLINEが入らなかったので、初めてAmazonで整備済み品を購入しました

【整備済み品】 Apple iPhone SE(第2世代) 64GB ブラック SIMフリー (整備済み品)
https://amzn.to/3YaLMAK

前々から、整備済み品に関してはちょっと見てはいましたが、購入したのは初めて。

メルカリとかでもいくつか出品はされていますが、結局のところ動くかどうかわからないし、今のiPhone8と比べるとチップも新しくなっていることを考えると長持ちするだろうと。

それにしても、iPhoneはProじゃなくて無印のほうが色のバリエーションがあっていいですね。

(PRODUCT)RED – Apple(日本)

中古品で寄付ということにはならないだろうけれど、この色が意味することを初めて知った。
Proにもあればいいのにな

週末はのんびりと

この週末は、ずいぶんと、なんというか何もしなかったなぁと。

もちろん、何もしなかったと言っても子どもの習い事の送迎や、病院に行ったり。
買い物もあるし走ったりもしている。

ただ、なんというか特別なことはそれほど何もなかったかな、と。

なにか特別なイベントがあったわけでもないし、前に進んでいるという感覚も非常に薄い感じで時間が流れてしまった。

なんというか、オホーツク網走マラソンが終わってから、疲れが残っているということもあるんだろうけれど、ちょっとだれている感じがする。

あまりこういうだれた状態が続くのは望ましい状態ではないのはわかっているものの、正直言って動くことができていない。

また自分の悪いところが出ているな、と思うわけです。

こんなときにリモートワークしてもろくなことにならないので、明日は出社して、なんとか前に動かないといけません。

明日からまた頑張るです

窓際のトットちゃん

網走に行っている往復やホテルでの時間を利用して、Audibleで窓際のトットちゃんを聞いた

窓ぎわのトットちゃん

黒柳徹子さんが著者ということも、本の存在自体も知ってはいたけれど、内容に関しては実は知らなかった。
ただ、少し前にNHKかなにかでトモエ学園の特集はやっていて、それをなんとなく見てはいたので本書を読んで、「あぁ、あのときの内容がこの本のことだったのか!」とつながった。

ちなみに、Audibleでは黒柳徹子さん本人が朗読している

そして、Wikipediaを見てみるとこの「トットちゃん=黒柳徹子」ということで完全なノンフィクションな自叙伝に近いものとのこと。
おぉ、そうなのか!と改めて思う。

事前にNHKの特集を見ていたおかげでか、内容に関しては比較的すっと入ってくることができた一方で、先を知ってしまっているのでなんというか、ドキュメンタリーを聞いているような感覚に陥った。

2時間ちょっとの短い内容となるのでサクッと聴くことができる。
一つの知識というか、なんというか。
教養として読んでおくのにおすすめとなりそう

iPhoneにLINEがインストールできない

iPhone16Proを購入したわけですが、我が家では基本的に私が購入したものを妻に、長男に、長女にと引き渡しているのです。

今回で、首を長くしていた次男にようやくスマホが!!ってわけで、順次データ移行を行っていき、長女が使っていた5sを次男ように新しいSIMを入れたりしていたわけですが・・・

おおぅ。。。

確かに、入れられるiOSが12.5.7が限界・・・。

これまでスマホを持っていなかった次男向けなので、AppleIDは新しいもの。
過去に旧バージョンを使っていれば復旧できる可能性はあるようだが、ちょっと厳しそうだ・・・。

うーん、LINEが使えないとなるとちょっと厳しいな。。
いや、連絡手段という意味ではiMessageでもできなくはないんだろうけれど。。。

どうしようかなぁ

iPhone16 Pro

網走マラソンで浮かれている間に、注文していた

これまで使っていた13Proからは色々と変化点がありますね。

アクションボタンやこの16で追加されたカメラコントロール。
そもそもDynamic Island自体が私にとっては新しいので日々使いながら試しているところです。

色はデザートチタニウムなのですが、正直薄い感じでピンとこない色という印象です。
もうちょっと目立つ色でいいように感じるのですけれどね。

網走旅行

今回の網走行きは週末の土日で弾丸旅行となりました。

目当てはもちろんオホーツク網走マラソンなわけですが、どうせ行くならば少しは観光も!と考えて動いたわけですが下調べも悪く運も悪く思うようには行きませんでした

1日目

羽田ですでにつまづきます。
登場予定だった飛行機が、機材到着遅れとかで20分ほど出発が遅れました。

この時点で、すでにギリギリだった予定の見直しを迫られます。
当初の予定では、網走神社で御朱印→開会式→網走監獄博物館という予定でした。

着く時刻を考えると、神社に行ってからでは開会式の抽選に間に合いません。
そこで、開会式に行ってから神社に行くことに。

この時点で、監獄博物館を調べてみると、入館が16時と。。。
そもそも計画が破綻しているじゃないか・・・と。
翌日は、マラソン後の予定はお土産を物色しようと思っていたので、そこで博物館に行けばいいかな?と気を取り直します

開会式が終わってから、急いで神社に行くも、すでに16時を大きくまわり暗くなっている。
当然のように社務所はしまっていて御朱印はもらえませんでした。。。
しょうがないのでお参りだけして帰ります。

この日の宿は、網走では取ることができなかったので北見に向かいます

夕食は当初、北見で名物と言われていた焼きそばを食べようと考えていました。
ただ、軒並みお店が営業していなかったり、道行く店は飲み屋ばかり・・・。

なんというか、観光地というわけでもない地方都市だと酒がないとどうしようもないのでしょうか。

あまり奇をてらった店に入ってもしょうがないので、コンビニでその日の夕食は済ませます

2日目

マラソン後、いそいそと昨日行くことができなかった監獄博物館に向かいます。

シャトルバスで網走駅まで行くも、監獄行きのバスはしばらくは来ない。
迷う時間ももったいないのでタクシー捕まえて動きます。

タクシーで、おみやげ物買う場所などを情報収集するも、駅前にはあまりいいものはないとのこと。。空港に望みをかけたほうがいいみたいでした。

監獄博物館に来たものの、そもそも網走監獄に対しての知識をそれほど持っていなかったので、北海道開拓の歴史的なものを知ることができたのは思わぬ収穫でした。

刑務所として考えると、ずいぶんと凝った作りですよね。
もちろん、独房はそんないいものではないですし、実際のところはもっとひどかったのですが天井も高く建物は近代化された感じで見ごたえがありました。

外には食堂が併設されていて、食事をすることができます。

この食事もここへ来た楽しみの一つだったのですが、こちらもリサーチ不足。。。
CLOSEが14:30ということで、博物館を見ずに先に食事をすれば間に合ったのですが、残念ながら閉まっていました・・・。無念。

出所祝い膳を食べたかった。。。

監獄博物館からの帰りこそはバスを!と思ったのですが、2時間近く間が空いている・・・。

もともと監獄博物館は歩いて40分程度という話だったので、駅まで歩くことに。
たまたま一緒になったおっちゃんと喋りながら駅まで歩きました。

旅は道連れ?

このおっちゃん。
ロサンゼルスの方でトラック運転手を長年やっていて引退して帰国したとのこと。
色々とアメリカでのことや旅行のことを話しました。

人それぞれいろいろな人生があるもんだなぁとしみじみ思います。

こういうとき、自分はどんな話をすることができるんだろうなぁと思ってしまいますね。

話している中で、バケットリストに関する話になりました。

【ワーナー公式】映画(ブルーレイ,DVD & 4K UHD/デジタル配信)|最高の人生の見つけ方 (warnerbros.co.jp)

おっちゃんもバケットリストを作ってやっていて、北海道を電車で制覇する!ということをやっている最中とのこと。
いいですね。

他にどんなことを掲げているのか?というと、色々ありましたが面白いのが「毎月トンカツ食べる」ってものでした。

“毎月”なので、継続していくことを考えるとずっとチェックつかないんじゃないか?と思うわけですが、そのあたりは御愛嬌ですね。
それくらいハードル低くていいんだよ!と笑っていました。

お土産

その後、早めに着いた空港でスープカレーを食べ、お土産を物色しました

最終的に、また飛行機が遅れてしまい、終電に間に合うかどうかのギリギリラインでしたがなんとか無事に帰ってくることができました。

いや、北海道とんぼ返りはやっぱり大変ですね。
とはいえ、北海道を満喫するとなるとやはり、仕事をやめてからじゃないとなかなか時間的には厳しいものがありそうです。

次、いつ行くことができるかはわかりませんが、もう少しちゃんと計画立てていかないともったいないですね

オホーツク網走マラソンを振り返る

さてさて、筋肉痛やらなんやらで脚が重いですが、振り返ってみたいと思います。

タイム

今回のタイムリストとしてはこのような結果になりました

計測ポイントスプリットラップ
Start00:00:21
10km00:51:020:50:41
20km01:39:450:48:43
30km02:29:160:49:31
40km03:27:330:58:17
Finish03:40:370:13:04

実際のところ、8月、9月は30km走をしようとしてもへばってしまって、ろくに長距離の走り込みができませんでした。
そのため、今回はギリギリサブ4くらいじゃないだろうか?と思っていたところからすると良い結果になりました。

Runmetrixで見るまでもないですが、後半の失速がやはり課題です
順に振り返ってみよう

序盤(スタート~能取岬 15kmくらいまで)

この日は気温も寒すぎずあつすぎず、曇り空ということで日差しも気にならないベストなマラソン日和。

序盤、5km地点から始まる激坂に向けてペースを抑えめに走ります。
激坂を超えて、細かいアップダウンが始まるのですが、このあたりから徐々にペースを上げるようになりました。
見返してみると、下り坂ということもあるのでしょうが4:30近辺を叩き出しています。
私からすると、序盤にしては少しオーバーペースだったかもしれません。

能取岬のエイドにちょっとやられます。

基本的に今回は、夏の走り込み不足からエイドを楽しむと宣言していた手前、出ているものは基本的に食べようとしました。
ここでも、芋団子もかぼちゃ団子も、牛乳もいただきました。

そして、団子でむせました。。。

また、調子に乗って能取岬の灯台で記念撮影とかしてました。。。

そんなこんなで、ここでは大きくタイムとペースを乱されました
すべて自業自得ですが。。。

中盤(能取岬~レイクサイドパーク・のとろ 30km近辺)

トンネルを抜け、比較的なだらかな道が続きます。

このあたり、だいたい4:50~4:55くらいのペースで走ることができています。
サブ3.5が狙えるペースですね。

その甲斐もあって、サブ3.5のペースランナーに追いつきました。
ただ、エイドのたびに離されてしまうので、ここでも余計な体力を使ってしまうことになります。

30km近辺になっても、比較的脚がまだ残っているような気がしています。
段々と、「もしかしてサブ3.5いけるんじゃないか?」と欲が出てきます。
一方で、あれだけエイド楽しむとか言っていて、後半エイド無視できなくなってしまう自分がいます。

後半(ゴールまで)

33kmまでは5分近辺のペースで走ることができていましたが、それ以降は大きくペースを落とすことになってしまいました。

一つは、サブ3.5のペースランナーに離されてしまって、一つの緊張の糸が切れてしまった点。
また、序盤のオーバーペースやエイドで遊びすぎてしまったのがたたってしまったのかもしれません。

後半の網走川沿いを走るコースは、比較的景色が変わらず、長く感じます。
それでも2.5kmおきにはエイドが設けられているので、それを目標に歩いたり走ったりを繰り返しました。

ひまわりの中を走るときくらいは歩かずに頑張ろうと、最後の力をだしてゴール。

結果はグロスで3:40:37。
自己ベストには5分ほど届かなかったのですが、これは組み立て方によっては十分狙えたな。。。と。

全体的なペース配分やレースに臨む姿勢の問題が垣間見られますが、それもこれもこんなエイドを設置している運営がいけないんだということにして、次回、頑張りましょう。

皆さんお疲れ様でした!

オホーツク網走マラソンを走ってきたよ

無事に第10回オホーツク網走マラソンを完走してきました!

序盤の5km過ぎから始まる激坂は、あらかじめ聞いていたので我慢しながら走り、30kmくらいまではサブ3.5ペースランナーについて行ったのですが…

エイドのたびに離されてしまい、途中からペースもガタガタになってしまいました…。

結構調子は良かったものの、エイドを捨てきれませんでした。

こちらは、開始早々やってくるカニ汁エイド。
うーむ、真面目に走っていたら自己ベスト行けたかもってくらいでしたが、しょうがないです。

次、頑張ります

それにしてもこの大会は、エイドが充実しているのもあるけど、面白エイドも盛りだくさんでほっこりしました。

安西先生やヒロシなどなどモノマネエイドやイケメンエイドなどバラエティ豊か。
農大生が積極的に参加しているのか、ノリが大学ですね。
気軽に来れる距離じゃないですが、また来たいですね。

最後の向日葵畑も写真で見るとちょっと分かりづらいですが見事な景観でした。

細かい振り返りはまた明日以降にでも。

ゴール後にアイシングしてもらったり整体師さんにマッサージしてもらったりで、凄いありがたかったです。

おかげで、その後、監獄博物館にも余裕で行く事ができました。

満足!