iTunesの曲のふりがなを自動で登録する (Windows)

iPod Touch で漢字の曲がソートされない。数字・記号・漢字が全て纏められている。
あいうえお順にするには、iTunes でふりがなを登録すればいいらしい。
しかし、自動で入力する方法が、AppleScriptを使用したものしか見つからない。

手動で入力出来る数ではないため、VBScriptで書いてみた。

以下、そのソース。

set iTunesApp = CreateObject("iTunes.Application")
set exelApp   = CreateObject("Excel.Application")

set selectedTracks = iTunesApp.SelectedTracks

private trackCnt

trackCnt = 0

if Not( selectedTracks is Nothing ) Then
  trackCnt = selectedTracks.Count
end if

if trackCnt = 0 then

  WScript.Echo "トラックを選択してください"

else

  for i = 1 to trackCnt
    set current = selectedTracks.Item( i )

    '曲名のふりがな
    if current.sortName = "" Then
      current.sortName = getSortText( current.Name )
    end if

    'アーティスト名のふりがな
    if current.sortArtist = "" Then
      current.sortArtist = getSortText( current.Artist )
    end if

    'アルバムアーティスト名のふりがな
    if current.sortAlbumArtist = "" Then
      current.sortAlbumArtist = getSortText( current.AlbumArtist )
    end if

    'アルバム名のふりがな
    if current.sortAlbum = "" Then
      current.sortAlbum = getSortText( current.Album )
    end if

  next

end if

WScript.Echo "Complete!"


'ソート名(ふりがな)の取得
Function getSortText( ByVal str )

  dest = ""

  if str <> "" Then
    '1文字目を取得
    tmp = Left(str,1)

    '1文字目が全角なら変換
    if (Asc(tmp) And &HFF00) <> 0 Then

      dest = exelApp.GetPhonetic(str)

    end if

  end if

  getSortText = dest

End Function

テキストにコピペして、拡張子を.vbsにすれば完成。使う人は自己責任で。
ちなみに、Excelの関数を利用しているため、Excelが入っていないと動きません。

以下、仕様

  • 選択したトラックの読みがなフィールドを補完する
  • 曲名、アーティスト名、アルバムアーティスト名、アルバム名 に対応
  • 既にふりがなが設定されている項目は無視する
  • 1文字目が半角の場合は変換しない