|
環境は、
Windows XP Pro SP3
秀丸エディタ Version 8.04
です。
●使用したCSVデータとマクロ
CSVデータは、次の三行です。
a,b,c,dddddddd,e,f,g
a,b,c,d,e,f,g
a,b,c,d,e,f,g
CSVモードの場合にTabキーを押したら、
半角カンマが入力されるように、
次のように記述したマクロを作り、
キー割り当てでTabキーにこのマクロを割り当てています。
if (getconfig( "TabMode" ) & 0xF0F == 0x101)
insert ",";
else
insert "\t";
※上記マクロは、漢字でデータを入力したり、
区切り文字の半角カンマを入力する場合に、
全角半角を頻繁に切り替えるのが面倒だったので、
イメージしやすい一つのキーで半角カンマを入力したいと思い、
作りました。
●本題
上記CSVデータのファイルを開きCSVモードにして、
最終行のA列にA列の列幅よりも長い文字を入力した場合、
半角カンマを直接キー入力するか、又は、
コピーした半角カンマをペーストすれば、
A列の列幅は自動調整されますが、
上記マクロをキー割り当てしたTabキーを押しても、
A列の自動調整がされません。
最終行のA列だけのようですが、これは仕方ないのでしょうか?
ちなみに、他の箇所に入力して初めてA列の自動調整がされます。
あと、ついでですが、
上記CSVデータのファイルで、
ルーラー部分をクリックして列を範囲選択して
半角カンマをキー入力すると、列幅がおかしい場合があります。
・A列の場合は、bが入力されている列が狭くなる。
・B列の場合は、cが入力されている列が狭くなる。
・C列の場合は、cが入力されている列がD列と同じになる。
・D列の場合は、新しくできた列がd列と同じになる。
個人的には、新たにできた列が半角カンマだけの場合は、
文字がない列と同じ列幅であって欲しいですし、
文字がある場合はそれを考慮した列幅になって欲しいです。
・E列の場合は、fが入力されている列が狭くなる。
・F列の場合は、gが入力されている列が狭くなる。
もう一つついでですが、
最後列に新たな列を追加したい(上記CSVデータで言うと
gが入力されている後ろに列を追加したい)場合は、
現在は置換で行末に半角カンマを入れるしかないと思いますが、
H列など文字がない列のルーラー部分をクリックして
入力できないのは仕様でしょうか?
よろしくお願い致します。
|
|