[[20040225000631]] 『フリガナ編集について』(すみ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『フリガナ編集について』(すみ)
 Webページからコピー貼り付けした名前や関数で表示した名前をコピー値貼り付けしたデータのPHONETIC関数では
小泉 純一郎  =PHONETIC(A1)とすると 結果は小泉 純一郎になりますが、
元のデータでShift+Alt+↑か「書式・ふりがな・編集」Alt+O+T+Eとすると
小泉 純一郎  =PHONETIC(A1)がコイズミ ジュンイチロウ と表示されます。
この操作を各データで繰り返し実行するのは大変な作業になります。
例えば、データ200件処理するマクロで自動実行できれば、能率的だと思うのですが、
マクロの知識が自動記録程度でうまく実行できません。
何方かマクロに詳しい方のお助けをお願いします。

 Sub TEST_20040226()
SendKeys "%ote", Wait
SendKeys "{ENTER 2}", Wait
End Sub
上記マクロをショートカットキー登録、またはツールバーにユーザーボタンを
登録すれば強引ながらできると思います。(ただし、1セルずつですが)
(KAMIYA)

 KAMIYAさんありがとう!早速「フォームのボタン」に貼り付け実行して、
ショートカットキー操作より楽に確認しながらフリガナ変更ができました。
それに、メニュー実行の記述方法を案内下さって、今後の活用に利用できます。
今後ともよろしくお導き下さい。(すみ)

 KAMIYAさんにお尋ねですが
 Sub ふりがな編集()
for i=1 to 200
SendKeys "%ote"
SendKeys "{ENTER 2}"
next i
End Sub
で自動実行出来たのですが、実行中書式とふりがなのプルダウンメニューが表示され
画面がチラツキますので、このちらつき表示を停止させるコマンドがあれば教えて下さい。
お願いします。(すみ)

 ApplicationオブジェクトのScreenUpdatingプロパティを設定します。
プロシージャのはじめのほうで
Application.ScreenUpdating = False
を記述して画面更新を停止し、プロシージャ最後で
Application.ScreenUpdating = True
を記述して画面を更新します。
(KAMIYA)

 早速お返事を頂まして、ありがとうございます。
 Application.ScreenUpdating = False で画面停止できたらスマートになると期待しましたが
状況は変更なしです。設定の仕方が間違っているのでしょうか?(すみ)

 ごめんなさい。検証してませんでした。
当然できるものと思って書いたら、どうも出来ないようです。
SendKeysメソッドは画面上アクティブなウィンドウに対して
キーコードを送るものなので、 Application.ScreenUpdating = Falseを
設定しても無効扱いにされているみたいですね。
スミマセン。
Application.ScreenUpdating = Falseでダメだとすると、
ちょっと思いつかないです。
(KAMIYA)

 と、書いたあとから、便利なメソッドが存在することを
発見しました。PHONETICワークシート関数を使うことばかり
考えていましたが、下記サンプルはA列の文字列からB列の同じ行のセルに
定数としてふりがなを抽出します。

 Sub ふりがな編集()
Application.ScreenUpdating = False
For i = 1 To 200
Range("B" & i).Value = Application.GetPhonetic(Range("A" & i))
Next i
Application.ScreenUpdating = True
End Sub

 お試しを。
(KAMIYA)

 ついでに探したらふりがなを設定するメソッドもありました。

 Sub ふりがな設定()
ActiveSheet.Range("A1:A200").SetPhonetic
End Sub
(KAMIYA)

 ふりがな編集()ではふりがな抽出ですが、ディフォルトの全角フリガナのみです。
 ふりがな設定()は親文字のフリガナ設定で、ひらがな 全角フリガナ 半角フリガナが反映され
範囲指定のみでマクロも簡潔、快適に自動実行されました。大変気に入りました。
3種類のマクロ記述の紹介を頂き有難う御座います。尋ねてよかった大収穫に感謝!(すみ)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.