今日のパソコン同好会で、Excel住所録マクロを動かした方から、「『桁1』エラーが消えない」との質問が出され、即答できなかったので帰宅後 調べた。
■ 推定原因
- 住所録中の「住所1」の文字数が 21桁だったので、「桁1」エラーになった。
- この時、「住所1」に改行の場所を示すスペースを入力せず保存してしまった。
または、スペースを入力したものの、再度、住所録マクロを動かさなかった。 - その後、住所録を開いて、該当レコードに「欠礼」を入力した。
- 「欠礼」レコードは出力しないため、一切のチェックを行っていない。
このため、「桁1」エラー(21桁)の状態がそのまま残った。 - 「エラーが1件ある」と表示されたため、最初に見えた欠礼レコードの[住所1]中にスペースを入力した。
- 実際には、スクロールしないと見えない場所に本来のエラーレコードがあったと推定される。
- 「Wordで宛名印刷専用用住所録」には、この欠礼レコードは出力されていなかった。(正常)
■ 対策
- 「欠礼」レコードは出力しないため、これまでどおりチェックは行わないが、「チェックを行っていない」ことを示すため「桁1」をクリアーする。(前回のエラーを消去するため)
- 改修した「住所録マクロ」はバージョン 2.2a とした。
最新バージョンは、「 住所録マクロの使い方(ver.2.2a)」よりダウンロードできます。
編集後記
- Excel2003 で開発した「住所録マクロ.xls」を Excel2010 で修正・テストしていた(WindowsXP マシンはデオデオ医院に入院中のため)ら、「開こうとしているファイル“****.xls”は、実際にはその拡張子が示すファイル形式ではありません」という不可解な警告が出た。
- アーキテクト360 には次のように載っている。
原因は、Excel 2007では拡張子をxlsとしてファイルを保存しても、従来の形式で保存してくれないためである。したがって、Excel2000や2003では、理解できないファイルとして認識されメッセージが表示されてしまう。
回避方法は、コメントにある部分のようにファイルフォーマットを指定する必要がある。workbook.SaveAs("abc.xls", Excel.XlFileFormat.xlWorkbookNormal)
さぁ〜て、困ったなぁ〜〜〜 WindowsXP マシンは入院中だし、Word2010 対応版を出す気力もないし...