2014年9月15日月曜日

EXCEL:シート内のTextエリア、カーソル進行方向が逆になる

先にEXCELでおかしな動作があったことを書きました。ついでなので、2年ちょっと前にあった別のおかしな動作も書いときます。

これはMicrosoftのHPにはっきりOfficeのバグだと書いてありました。何が起きるかというと、EXCELのシート内にTextエリアを作り、それでWord代わりに書類を作る方が時々います。(こっちからすると、なんでそんな面倒くさいことやるのか、と思うんですが大抵の人は仕事で資料作るときに、覚えるツールは最低限にしたい!という欲求があるようです)
それで2003のExcelで作成したデータを、2007/2010で開いて編集しようとすると、時々Textエリア内にカーソルを持っていき、編集したいところへカーソルを持っていこうと、例えば右に方向のカーソル移動キーを押したとします。だけど実際のカーソルは左に動いてしまう!?という状況です。

必ず発生するわけではありません。条件ははっきりしませんが、そういうことが起きるらしいです。(最初、相談されて実物を見たときはびっくりしました。)おかしいのはカーソル移動だけで、編集は普通にできます。カーソルをなんとか移動させて、そこに日本語を挿入すると普通に右子方向に文字列は挿入できます。

それでは何が起きたかというと、はっきりとはHPに書いてはありませんでしたが、どうも文字列の属性として「アラビア語」のフラグがこっそりOnになってしまうようです。(アラビア語は、右から左へと、通常の世界の言語とは逆に書きますから。)そこで、この属性に関するフラグを設定し直せとあったんですが、それをするためにはEXCELの使用言語に「アラビア語」を追加してやらないと、文字列の書く方向を指定するコマンドを入力できるようにならないそうです。
それで、「オプション」→「言語」で通常は日本語と英語(米国)しかありませんが、何かアラビア語を追加してやります。(なんか10個くらいアラビア語の種類がありますが、違いがわかりません。まあおそらく英語と英語(米国)の違い程度で、スペルチェックなんかが微妙に違うんでしょうが、そもそもアラビア語なんて入力できないんで、何か追加すればいいと思います)

するとEXCELの「配置」のところに以下の様な新しいコマンドが表示されるようになります。
そう、これでカーソルの移動方向がおかしくなったTextエリアを選択したのち、カーソルの進行方向を設定し直してやればいいんです。

Officeが2003から2007に変わったときは、UIが新しい「リボンインターフェース」になり、かなり戸惑いましたが、M$も罪作りなことにかなりバグ(実装上もだけど、要求仕様上の矛盾も含めて)を作りこんでくれたようで困ったもんです。それでもこれで資料作らないと仕事にならないし...

0 件のコメント:

コメントを投稿