« 2018年1月 | トップページ | 2018年3月 »

Excel で漢字の読みを入力するマクロ

この記事は自分用の覚書です。
(Windows 10 Pro 64ビット + Excel2016 Office365 Business サブスクリプション バージョン1801(ビルド9001.2171)

VBA を使って、B 列に入っている漢字の読みを C 列に入力する。

セル内の漢字の読みは PHONETIC 関数で取得できるが、セルの中で読みを打って漢字に変換していないとその読みは  PHONETIC 関数で取得できない。(別のファイルからコピー貼り付けしてきた場合など。)

下記のコードは、セルの中で変換していなくても漢字の読みを取得する。
(コードを実行する場合は、読みを入力したいシートを開いておく。)

ただし、エクセルが漢字を認識するので、期待通りの読みにならない場合がある。その場合は、手作業で読みの編集が必要。
PHONETIC 関数とは違って、漢字の読み( Shift + Alt + ↑)を正しく入れても反映はされない。

Yomi_1

コードを実行した結果。

Yomi_2


Sub 漢字の読みを入力()
Dim i As Long, 文字列 As String
For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row
    文字列 = Cells(i, "B")
    Cells(i, "C") = Application.GetPhonetic(文字列)
Next i
'B 列に入っている文字列のヨミを C 列に入力する。
'
'For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row のコードで、
'B 列が何行あっても対応できるようにしている。
'
'B 列の値を、変数「文字列」に代入する。
'変数「文字列」を、Application オブジェクトの GetPhonetic メソッドの引数にする。
'C列のセルに GetPhonetic メソッドの実行結果を入れていく。
'
'B 列に入っている漢字の読みを、エクセルが内部的にもっている辞書と照らし合わせて認識する。
'そのため、人が期待する通りに漢字を読んでくれない場合がある。
'その場合は、手作業での調整が必要。
'
End Sub

| | コメント (0) | トラックバック (0)

いいのか? 宇宙ゴミ。

宇宙開発ベンチャー企業スペースXが打ち上げたロケットには、スポーツカーが積まれていたのだとか。ロケットは火星軌道を目指している。

その昔――40年代、50年代にこの星では海に放射性廃棄物を捨てていた。日本もそうだった。日本は「し尿」も海に廃棄していた。

時が過ぎて、海洋の環境汚染というか負荷というかが知られ始めると、これではいかんという動きが出てきた。
そして、ロンドン条約の1996年議定書において、海洋投棄は原則禁止されたのだとか。(出典:ウィキペディア「海洋投入」)

好き勝手に捨てていたけど、海が汚れるよね。いろんなところに不都合が起こるよね、いい加減にやめようぜ――となったわけだ。

ということで、宇宙ゴミだ。

スポーツカーを打ち上げる? いいのか? 地球の周りではなく火星の軌道に乗せるらしいけど、そもそも宇宙空間には存在していないものという意味では「ゴミ」だといえるだろう。

そのほかには、さまざまな宇宙ゴミが地球の周りを漂っている。
ある環境に好き勝手にゴミを捨てれば、その後どうなるか、人は海洋環境においてすでに経験済みのはずなのに……。

宇宙空間にモノを捨ててくるというか、置いてくるというかの行為は、いいかげんにしておかないと、この先の人類に大きな負担をかけるのではないか。

そんな心配をちょっとしている。
僕は宇宙については何の専門知識もない。だから、見当違いかもしれないけどね。

| | コメント (0) | トラックバック (0)

« 2018年1月 | トップページ | 2018年3月 »