390.同じコードでも

新年あけましておめでとうございます。
2019年もよろしくお願いいたします。

CADではないですが間接的に
役に立っているEXCELマクロについてです

EXCELマクロを使い出したのはEXCEL97の頃からです。
振り返ると20年ほど前から使っていることになります。
最初は書籍を買いサンプルコードを試して覚えていきました。
EXCELマクロはほぼBASIC言語です。
DOSBASIC言語は知っていたのでわりと入りやすかったです。
BASIC言語にプラスしてコマンド追加+EXCEL関数といったもの、
第一印象はコマンド数は比較できないほど豊富でした。
自分の用途は主にテキストファイルを加工したり
セルに値を代入したりするといった基本的な部分です。
おそらく1%も使っていないです。
そうした基本的コマンドだけのためか
EXCELのVerが変わっていっても
現在も当時のまま動作しています。

と思っていたのですが、EXCEL2016では
動作しないものもあると知りました。
息子のEXCELのverはEXCEL2016です。
この間、学校の実験で機械から出力された
大量のテキストデータを加工しているという話を聞きました。
サクラエディタのマクロで作業を記録して
それを繰り返し再生して処理していると聞いたので
ちょっとおやじのいいところ見せてやろうかと
EXCELマクロで1クリックで処理できるように
普段使っているコードを切り取りサンプルファイルを
メールに添付しておきました。
返事がないので、数日たって動作したか?と聞くと
パスのエラーがなんとか。。で
ディバッグ画面で止まっているというのでした。

コードについては10数年テンプレートのように
使っている部分だけに絶対動作すると
自信をもっていたのですが
途中エラーで止まるとは。
役にたたない古いおやじコードとなったのでした。。
年末帰省した時に、原因を調べました。
エラー内容は、「パスが見つかりません。」と表示
書き込みファイルがオープンできないエラーでした。
パスを見ると C:\OUT.TXT です。 (ルート)
仕方がないのでUSBを挿してDドライブを追加
コードをD:\OUT.TXT に変えると何事もなく動作しました。
なんで?と思い
ネットで調べて見ると、どうも原因は
パソコンはCドライブのルートの
アクセスに制限がはいっていたことが原因で
c:\が書き込めないことがわかりました。
OSはWIN10です。
設定は変更したわけではなく
出荷時の設定のままということだったので
一般的にはそうなっているようです。
ちなみに
ルートではなく
コードを C:\WORK\OUT.TXTと
WORKフォルダに
変えて試したらOKでした。

原因はマクロ言語の問題ではなく
OSの設定でした。
人に渡すときはルートを避けるように
作ることで問題が起きないということが
わかりました。

ということでコードは問題なかったのですが
OSの設定を変えないようにしておきたいので
コードを直すといった対処をしました。

コードは何も変えなくても
周囲の環境変化でいつの日か
動作しなくなる事ってある。
そしてなぜか
コードの方を変更することになると。
DREAMの描画速度も同じ。

今年最初に思ったことでした。

トップへ
トップへ
戻る
戻る