『敗北と死に至る道が生活』その4153
エレカシの宮本浩次、スペシャル・フォト撮影に挑戦アクセス(MS-Access)側にエクセル(Excel)の計算式を埋め込んだレコードをテーブルに格納し、select結果をエクセルのCopyFromRecordsetで貼り付けたら計算式が文字列としてそのまま設定された。F2+Enterで正常になるのだが、それは人間が介在しているから。vbaでF2+Enterをループさせるなんていうページを見つけたがスマートではない。
行列ループでセルに刺激を与えたらなんとかなったが、Object参照のループのせいかレスポンスが悪い。今日、CopyFromRecordset で貼り付けた直後にその範囲をレンジとしてVariant変数配列にぶち込んで、そのまま同じ範囲に貼り付けるという意味不明な処理を入れたらまともに計算式が計算式になった。数字が文字として緑の三角マークでWarningされることもなくなり、処理時間を37秒から23秒にまで縮めた。ループ処理なんかしたくないものだ。いったんシートに貼り付けるのが意味不明だが一気に出来るものは一気に利用したほうがいい。
だったらselect結果をそのまま配列に入れてくれればいいもんだが、getRowsだと行列が逆になってしまう。Objectって何だかみんな知ってて使ってるんだろうか。私の場合よく分からないものを総称してObjectと呼んでいる。ポンカンもオレンジも「みかん」で片付けているようなものだ。
なんでこんな訳のわからない日記を書いたかと言えば、いろいろ調べてもよく分からないことが解決したので、日本にあと一人くらいこれを読んでがってんするかもしれないので書いて見た。あとはクローラーがうまくひろってくれればいのだが。いずれにせよF1,F2層にはまったく関係のない話でした。