質問: excelでデータの更新した後の列幅を固定したい excelからデータの更新(!マークで実行するやつ)で、accessのクエリーの結果をexcelに取り込んでいるのですが、 excelの列の横幅を狭くしておいて、"縮小して全体を表示する"にしてあるのですが、データを更新すると列幅が、 accessで定義してあるフィールドサイズに広がってしまいます。 (テキスト型でフィールドサイズ50だと、msゴシックで全角25文字ぐらいの列幅に) データの更新時に、列幅が自動で広がらないようにする事って出来るのでしょうか? (マクロで全部の列の列幅を定義しておいて、データの更新後にマクロ実行して列幅を戻すのは出来ると思いますが、 マクロで後で調整しなくても方法ってあるのでしょうか?) excelは2003で、accessは97を使っています
回答: こんにちは。 その問題は、そのデータの取り込み方に問題があるのではありませんか? たとえば、excelの外部データの取り込み(インポート)のオプションに、 「列幅を調整する」というものがあります。 これは、excelのquerytable のオプションのひとつです。 ado を用いるにしても、excel側では、勝手に列幅が広がるようなことはないと思います。だから、だいたい、最後は、列に対して、autofit を逆に入れて、列幅を調整しているぐらいです。 これらの方法よりも、下位の取り込み方をすれば、おそらく広がってしまうかもしれません。 もちろん、逆も真というか、access 側から、多少はややこしくなりますが、excelにエクスポートしてもまったく同じはずです。ただ、querytable は、シートにテーブルエリアを残してしまうので、後々、加工しづらくなりますので、最後に、querytable のみを削除しなければなりません。