フォームのEnabledプロパティをFalseにすると、IMEが無効になってしまう。
Office2007以降でおきてるらしい。
IMEが無効になると、マクロが終了しても復帰せず、Excelで日本語入力ができなくなった。
他のアプリでは使える。
なんでだろう?
とりあえず、Excelを終了させればいいが、根本的に解決するには、
フォームを非表示にする(hideメソッド)とかすれば大丈夫らしい。
まぁ、表示中のフォームを無効にするなということか…
2012年11月30日金曜日
2012年9月26日水曜日
Excel VBA 二つのTrim
Trim()とApplication.WorksheetFunction.Trim()があり、それぞれで動作が違っている。
Trim(" A B ") → "A B" になり、
Application.WorksheetFunction.Trim(" A B ") → "A B" となる。
違いがわかりにくいけど、上は純粋に左右のスペースを取り除く。
下は、左右のスペースを取り除くだけでなく、文字の間の連続したスペースをひとつにしてしまう。
下のほうはセルの中で使うTrimと同じです。
なんだかなぁ・・・
Trim(" A B ") → "A B" になり、
Application.WorksheetFunction.Trim(" A B ") → "A B" となる。
違いがわかりにくいけど、上は純粋に左右のスペースを取り除く。
下は、左右のスペースを取り除くだけでなく、文字の間の連続したスペースをひとつにしてしまう。
下のほうはセルの中で使うTrimと同じです。
なんだかなぁ・・・
登録:
投稿 (Atom)