更新日記

更新履歴だけだと意味のないコンテンツになるんで、更新を含むサイト運営のアレコレ、またその他のカテゴリ分けのできない話題を、例によって日記形式で綴っていくコトにしました。


[2003][2004][2005][2006][2007][2008][2009][2010][2011][2012][2013][2014][2015][2016][2017][2018][2019][2020][2021][2022][2023][2024][2025]

yonetch Works XML化プロジェクト


2025.02.19 Office2021、のための...
●使ったっていいジャンか
現状事務所環境の仮想PCで使用している Office2013、実は一昨年4月でマイクロソフトのサポートが終了している。諸々問題ありとはいえ、その気になれば使うことはできるので今日まで使い続けてきた。
●さすがに
さらに、以前Windows11に移行した個人環境にはそもそもOfficeを入れていなかった。どうしても使うときは旧環境のOffice2010(!)でしのいでいたが、いい加減不便が勝つ場面が増えている。そんなわけでOffice2021のライセンスを2つを入手して、個人環境、事務所環境共にOffice環境のアップデートを図った。
備考: ついでに言うと、事務所環境の仮想PCを新規に作成し、Windows11を新規インストールした上で全データの移行を含めて環境再構築をすることにした。
●そっち?
そして真っ先に確認したのが、拙作のマクロ『弥生元帳印刷』である。案の定というか、すんなりとは動かなかった。その要因は、何も考えずにイントールした
Excel(Office)が64bit版だったこと
である!目下現在進行形で修正中。主だった項目をメモしておく。
備考: 本来なら上記開発記で書くような内容だが、本マクロを題材にした Excel 全般の話、という観点でこちらに掲載する
備考(その2): 将来的なことも考え64bit対応を行っているが、初めからわかっていたら32bit版をインストールして済ませていただろう(^^;
●形式変換
未だxls(Excel97-2003)形式から脱却していないものを、xlsm形式へ変換保存した。これだけでもエラーになるマクロが存在する。シートの行数、列数ともに大きくなっているからだろうか(IV65535とかリテラル埋め込んであるからなー^^;;)。
備考: これは64bit/32bitとは関係ないが、どうせ改変するならこの機会に一緒にやってしまおうと考えた。
●PtrSafe
マクロ実行を許可した後、実行すると一発目にでるのが「Declareステートメントに、PtrSafe属性を設定してください」というエラーである。言われた通り機械的に属性を設定する。
‘/ 64ビット版【対応その1】:「Declare」ステートメントの後に「PtrSafe」付与 Declare PtrSafe Function SetCurrentDirectory Lib “kernel32” Alias “SetCurrentDirectoryA” (ByVal CurrentDir As String) As Long
参考サイト: 株式会社セルネッツ(Excel64ビット非対応コンパイルエラー!?)
●ADO
ワタシのマクロの根幹と言えるのが、CSVデータをSQL文で操作するところ(今でもあの時の感動は忘れられない^^)。それがいきなり「プロバイダが登録されていません」というエラーを吐く。
VBSなどにプロバイダの記述がある場合は下記のように書き換える。 “Provider=Microsoft.Jet.OLEDB.4.0;” → “Provider=Microsoft.ACE.OLEDB.12.0;”
参考サイト: 八寿のナレッジベース(プロバイダ OLEDB.4.0)
●ADO(その2)
さらに早々に「型が一致しません」というエラーで止まる。
ADODB.Recordset.RecordCount プロパティは、32ビット版ではLong型ですが、64ビット版ではLongLong型となるようです。 (略)
Dim cnt As Long
cnt = rs.RecordCount  ' ← コンパイルエラー発生(型が一致しません)
                      ' Dim cnt LongLong とする必要あり 
(略) CLngで型変換をすることでも問題ないことも多いと思います。
Dim cnt As Long
cnt = CLng(rs.RecordCount)
もちろん、Long型を超えるような数値となれば、期待する動作にはならないはずです。
参考サイト: 偏差値40プログラマー([VBA] ADODB.Recordset.RecordCountプロパティは64ビット版ではLongLong型)
●おわりに
以上で環境的な変化には大体対応できる。ただし、飽くまで表面的な対応でしかないようだ。トーシロウぷろぐらまには抜本的な対応は無理!今動いてればいいのさー(苦笑)。
備考: えくせるちゅんちゅんというサイトで、「WinAPIの64bit化で出てくるPtrSafe、LongLong、LongPtrってなんなのさ?」という記事があった。やはりここに書いた程度の対応では甘いらしい...
2025.02.01 パット練習
●開幕にむけて
昨シーズン総括に書いた通り、ワタシの目下一番の問題点はパットである。長年レッスン書として
ゴルフは気持ち by いけうち誠一
を愛読しているが、パットに関してその中の一話【赤ずきんA】が参考になった。

【まっすぐ打つ練習】

片手打ちが大事とはねぇ。1月中に取り組んで、大分まっすぐ打てるようにはなったと思う。意識せずとも打てるように練習を続けるつもりだ。
備考: 上記リンク先のサイト【ラブすぽ】では、本作が途切れ途切れにリンクされており少々見づらい。勝手にタイトルリストを作成した(^^)。
追記: ラブすぽで閲覧していると、同じエピソードが複数登録されているものが多い。全部で575話となっているが、実数はその半分ほどだ。どういうこっちゃろ(^^)。また、タイトル順に並べたものも併記した。同じテーマは似たようなタイトルになっており、集中的に読みやすいと思う。
2025.02.07追記: この練習メニューを始めて2か月ほどになるが、全く安定しない(泣)。パット練習器でやって、2mの連続カップインは最高で30球。平均的には精々10球というところ。実は室内で糸を張ることができず、目分量で「まっすぐ」を打っている。何とか糸を張ったレーンを作らないとダメなんだろうか。

2025.01.05 アクセシビリティ向上をめざして
●サイトレイアウト
新年あけましておめでとうございます
さて挨拶もそこそこに早速本題です。開設以来基本レイアウトは一切変えずにきた本サイト。何が問題って、PCの解像度で閲覧すると、横幅いっぱいに広がったテキストが読みづらいことこの上ありません。仕方なくブラウザの幅を適当に調整することになりメンドウ...
●レスポンシブデザイン
7年前に一度レスポンシブデザイン対応を試みたことがあったのですが、あえなく挫折。この年末年始の余暇に再チャレンジしてみました。参考にしたのは、
初心者も分かる!レスポンシブ・デザインの作り方
です。こちらの記事から、HTMLおよびCSSに以下を追記しました(ついでに、これまで<frameset>タグを使っていたのを<iframe>タグに変更)
<html>
  <head>
    <meta name="viewport" content="width=device-width,initial-scale=1" />
  </head>
  <body>
    <div class="wrapper">
      <div class="side">
        <iframe name="menu" src="navi01.htm" width="148" height="100%" frameborder="0"></iframe>
      </div>
      <div class="main">
        <iframe name="contents" src="top01.htm" width="100%" height="100%" frameborder="0"></iframe>
      </div>
    </div>
  </body>
</html>

【HTML】

body
{
	margin: 0 ;
	padding: 0 ;
	font-size: 15px ;
	line-height: 1.618 ;
}

.wrapper
{
	width: 948px ;
	margin: 0 auto ;
	padding: 0 ;
}
.main
{
	width: 770px ;
	padding: 10px ;
	border: 1px solid rgba(0,0,0,.1) ;
	float: right;
}
.side
{
	width: 148px ;
	float: left;
}

【CSS】

●やっと...
ついにPC上では真ん中に適正サイズで表示することができるようになった!...のですが、スマホ用の縦型レイアウトがうまくいきません。いろいろ試行錯誤しましたが、今日のところはこれにて断念。一時しのぎのなんちゃってスマホ版でお茶を濁しておきます(PCで見ちゃダメよ^^;)。結局全然“レスポンシブ”じゃありませんね...orz