日本語入力ソフトとVBAの覚え書き

・各種日本語入力ソフトの辞書解説 ・ちょっと楽になるExcel VBA集

ユーザー辞書の一括登録方法 〜macOS日本語入力プログラム編〜

f:id:dz_dzone:20170725162444j:plain

macOS 10.11以降に搭載されている日本語入力プログラム(Japanese Input Method)のユーザー辞書の一括登録方法を解説します。iCloudによりiPhoneなどのiOS端末と同期することも出来ます。

目次

macOS日本語入力プログラムの辞書の登録方法

'システム環境設定'を開きます。

f:id:dz_dzone:20170504230629j:plain

'キーボード'を開きます。

f:id:dz_dzone:20170504232713j:plain

'ユーザー辞書'タブを開きます。

f:id:dz_dzone:20170504232759j:plain

 macOS日本語入力プログラムの単語の登録方法

左下の'+'をクリックします。

f:id:dz_dzone:20170504232916j:plain

'入力'欄に'読み(ひらがな)'を、'変換'欄に'単語'を入力します。

f:id:dz_dzone:20170504233051j:plain

単語が追加されました。

f:id:dz_dzone:20170504233600j:plain

 macOS日本語入力プログラムの単語の削除方法

削除した単語を選択します。続いて、'delete'キーを押します。

f:id:dz_dzone:20170504233600j:plain

削除されました。

f:id:dz_dzone:20170504233938j:plain

※複数選択する場合は、'shift'キーを押しながらクリックします。

 macOS日本語入力プログラムの単語の一括登録方法

macOS日本語入力プログラム用の辞書ファイルは拡張子が*.plistのXMLファイル(プロパティリスト形式)です。

f:id:dz_dzone:20170504235506j:plain

このPLISTファイルをユーザー辞書の一覧にドラッグ&ドロップします。

f:id:dz_dzone:20170504234900j:plain

単語が追加されました。

f:id:dz_dzone:20170504235532j:plain

以上です。 

 

プロパティリスト形式の辞書ファイルの作成方法

Excel for Mac / WindowsでmacOS標準辞書の一括登録ファイルを作成するシートを公開します - SAラン広域セン支の覚え書き

 

ユーザー辞書の一括登録方法 ~iOS連絡先編 母艦iTunesと無料アプリを使う~ (iOS10まで)

概要

iOS連絡先の一括登録方法はいくつかありますが、ここでは母艦のiTunesと無料アプリを使って登録する方法を解説します。使用するアプリはIS Contacts Kit Freeです。母艦はMacとWindowsのどちらでも構いません。(iOS10までの32bitアプリ)

目次

iOS連絡先の一括登録 ~母艦iTunesと無料アプリを使う~

iOS連絡先の一括登録方法はいくつかありますが、ここでは母艦のiTunesと無料アプリを使って登録する方法を解説します。他の2つの方法は、母艦を必要としない代わりにファイルがApple vCard (*.vcf)を使うことで少々面倒くさい方法となっていました。

使用する無料アプリは IS Contacts Kit Free

今回は、IS Contacts Kit Freeを使用します。このアプリの特徴は、Excelファイル(Excel97~2003形式:*.xls)でインポート・エクスポートが可能なことです。Microsoft Excelの他、互換Officeアプリ(Kingsoft Office, LibreOffice, Apache Open Officeなど)や、Webアプリ(Googleスプレッドシートなど)でも編集が可能です。

連絡先 バックアップ - IS Contacts Kit Free

連絡先 バックアップ - IS Contacts Kit Free

  • INTSIG Information Co.,Ltd
  • ビジネス
  • 無料

IS Contacts Kit Freeでの連絡先のインポート手順

連絡先ファイル(Excel97-2003形式:*.xls)の用意

主な項目列は以下の通りです。*()内は説明 

  • Group (グループ)
  • First Name (名前)
  • Last Name (名字)
  • First Name Phonetic (名前のふりがな)
  • Last Name Phonetic (名字のふりがな)
  • Phone 1 Label (電話番号1のラベル) *
  • Phone 1 Value (電話番号1の内容) *
  • Email 1 Label (メール1のラベル) *
  • Email 1 Value (メール1の内容) *
  • Address 1 Label (住所1のラベル) *
  • Address 1 Country Code (住所1の国コード) **日本の場合 jp
  • Address 1 Country (住所1の国) *
  • Address 1 ZIP (住所1の郵便番号) *
  • Address 1 State (住所1の都道府県) *
  • Address 1 City (住所1の市町村名) *
  • Address 1 Street (住所1の町名、番地) *
  • Organization (勤務先名称)
  • URL 1 Label (URL1のラベル) *
  • URL 1 Value (URL1の内容) *
  • * : 2以降も可能
  • 項目列の順番は問わない

f:id:dz_dzone:20170427085827j:plain

なお、辞書として使えるのは、名字と名前およびそれぞれのふりがなです。

ExcelファイルをiTunesに取り込む

iPhoneやiPadなど端末を母艦に接続し、iTunesを開きます。"App>ファイル共有"の欄で、Contacts Kitを選びます。画面右の"Contacts Kitの書類"のところでファイルのやりとりが可能です。

f:id:dz_dzone:20170425000045j:plain

 用意しておいたExcel形式の連絡先ファイルをiTunesにドラッグ&ドロップします。

f:id:dz_dzone:20170425001147j:plain

取り込まれました。

f:id:dz_dzone:20170425001443j:plain

iPhoneなど端末での操作

"Contacts Kit"をタップします。

f:id:dz_dzone:20170427090007j:plain

"インポート"をタップします。

f:id:dz_dzone:20170427090128j:plain

ファイル管理画面です。画面に何もデータが出てない場合は画面右下の"更新"をタップします。ここでは先ほどiTunesで同期した"連絡先(編集済).xls"をタップします。

f:id:dz_dzone:20170427090148j:plain

"インポート”をタップします。

f:id:dz_dzone:20170427090433j:plain

インポート設定画面が出ます。連絡先を既に整理している場合は"インポートする前に自動的にアドレス帳をバックアップします"をオンにしておくことを推奨します。

重複する連絡先の処理方法を選択したら、"開始”をタップします。

f:id:dz_dzone:20170427090506j:plain

インポート処理中画面のあとのインポート完了画面です。"完了"をタップします。

f:id:dz_dzone:20170427090759j:plain

連絡先を開いて確認してください。

f:id:dz_dzone:20170427090911j:plain

以上です。

関連リンク


 

 

 

 

(Excel VBA) 選択範囲に同じコメントを表示状態で一括で追加する/コメントのみ貼付

はじめに

Excelのセルのコメント追加って面倒くさいですよね。

  1. セルで右クリックでコメント追加
  2. コメントを編集
  3. ボールドを外す
  4. フォントサイズを変更
  5. 背景色を設定
  6. 自動サイズ調整

マクロで一発

これがボタン一発で出来ればどれだけ楽か! あと、コメントだけのコピーも結構面倒くさいですね。
それで、今仕事で大量のデータ整理をしているのですが、コメントで"写真なし"というのを付けていく必要があり、もうマクロにしてしまおうと思いました。

コード

Sub kome()
    ' ** 選択範囲にコメントを一括で追加する **
    Dim CL As Range
    Dim cmnt As String
    
    cmnt = "写真なし"
    
    For Each CL In Selection
        ' ** コメントの追加
        With CL.AddComment(cmnt)
            .Visible = True
        End With
        
        ' ** コメントの書式等
        With CL.Comment.Shape
            .Fill.ForeColor.SchemeColor = 5 ' 背景色=黄色
            With .TextFrame
                .Characters.Font.Size = 12
                .AutoSize = True
            End With
        End With
    Next CL
End Sub

使用例

f:id:dz_dzone:20170421170927j:plain
ポチッと
f:id:dz_dzone:20170421170953j:plain
あー、これ楽。

コメントのみの貼付ボタンの作成

通常、コメントのみの貼付は、コンテキストメニュー>"形式を選択して貼り付け">"形式を選択して貼り付け">コメントにチェック>OKの手順で、非常に面倒くさいです。
f:id:dz_dzone:20170426164251j:plain
f:id:dz_dzone:20170426164307j:plain
これもマクロにしてリボンかクイックアクセスにアイコンを置くと簡単になります。

コード

Sub PasteComment()
    ' ** コメントの貼付 **
    Selection.PasteSpecial xlPasteComments
End Sub

ATOKの専門辞書を作成する(以前はシステム辞書と呼ばれていました)

f:id:dz_dzone:20170724130822p:plain

概要

ユーザー辞書とは違うただの"辞書"、以前はシステム辞書と呼ばれていたもので、ある程度まとめてある専門辞書などに使います。設定により一括でオンオフすることも可能です。ここではこの"辞書"を作成する手順について説明します。

ユーザー辞書と辞書の違い

ユーザー辞書とは

文字通りユーザーが変換したい単語を手動で登録するものの他、自動学習機能によって登録される単語を格納する辞書のことです。

f:id:dz_dzone:20170421142119j:plain

辞書とは

辞書とは、以前はシステム辞書と呼ばれていたもので、ATOKの標準辞書の他、あらかじめ用意された専門辞書を多く含んでいます。この辞書は自分でも自由に作ることが出来ます。

f:id:dz_dzone:20170421141853j:plain

 

辞書を作成する

例えば「〇〇ゲーム用語辞書」など、単一のテーマに沿ってある程度まとめられた辞書は、ユーザー辞書に入れておくよりも、それだけをシステム辞書として設定しておく方が管理が楽になります。一括で使用・不使用をオンオフすることもできます。 

辞書ユーティリティ

辞書の作成には、辞書ユーティリティを使用します。

f:id:dz_dzone:20170421144628j:plain

辞書の作成(新規)

"ファイル">"新規作成" をクリックします。

f:id:dz_dzone:20170421144740j:plain

辞書の新規作成画面です。"参照"をクリックします。

f:id:dz_dzone:20170421144814j:plain

ファイルを参照する場所はここになります。おそらく何もしなくてもこのフォルダを選んでくれるはずです。

f:id:dz_dzone:20170421144910j:plain

ファイル名の欄に適当な名称を入力して、"開く"をクリックします。

f:id:dz_dzone:20170421145016j:plain

"タイトル", "説明", "コピーライト"をそれぞれ入力してから、"OK"をクリックします。タイトルは辞書選択画面でオンオフできますので、わかりやすい名前をつけましょう。

f:id:dz_dzone:20170421145143j:plain

これで辞書ができました。ただし、まだ何も入っていません。

f:id:dz_dzone:20170421145319j:plain

辞書ファイルを読み込む

辞書ファイルを読み込みます。"ツール">"ファイルから登録・削除"をクリック。

f:id:dz_dzone:20170421145536j:plain

"参照"からタブ区切りテキスト形式の辞書ファイルを読み込み、"登録"をクリック。

f:id:dz_dzone:20170421145639j:plain

一括登録されます。"閉じる"をクリックします。

f:id:dz_dzone:20170421145732j:plain

辞書が読み込まれました。いったん右上の"×"をクリックして閉じます。

f:id:dz_dzone:20170421145810j:plain

辞書の登録

"ATOKプロパティ"を開きます。

f:id:dz_dzone:20170421151128j:plain

"辞書・学習"タブを開き、"辞書の追加・削除”をクリックします。

f:id:dz_dzone:20170421151251j:plain

右側の"追加可能な辞書の一覧”に先ほど作成した辞書が読み込まれているので、選択してから"追加"をクリックします。

f:id:dz_dzone:20170421151210j:plain

追加されました。"OK"をクリックします。

f:id:dz_dzone:20170421151452j:plain

チェックを入れて、"OK"をクリックします。

f:id:dz_dzone:20170421151529j:plain

完了です。 

おわりに

このような辞書を作成することで、ある程度まとまった専門的な辞書を1つにまとめることができ、ユーザー辞書をごちゃごちゃにする心配もありません。

 

関連リンク 

Microsoft IMEのユーザー辞書をシステム辞書に変換する方法

f:id:dz_dzone:20170724134529p:plain

概要

Microsoft IMEのユーザー辞書は一つだけですが、あるジャンルをまとめたものを専門辞書としてシステム辞書に登録することができます。この記事では、ユーザー辞書をシステム辞書に変換して使用する方法を解説します。

目次

システム辞書とユーザー辞書の違い

f:id:dz_dzone:20170413141832j:plain

システム辞書とは

システム辞書とは、Microsoft IMEの辞書の中で「標準統合辞書」というシステムが標準で使う常に使用される辞書と、「郵便番号辞書」「単漢字辞書」など、多くの単語を収録した読込専用の辞書のことです。

ユーザー辞書とは

Microsoft IMEの場合、ユーザー辞書は一つだけです。ここには普段の使用でちょっと登録したいと感じた単語、頻繁に使いたい単語を登録できます。 また、学習機能によって登録された単語も保存されます。

ユーザー辞書をシステム辞書に変換する

例えば「〇〇ゲーム用語辞書」など、単一のテーマに沿ってある程度まとめられた辞書は、ユーザー辞書に入れておくよりも、それだけをシステム辞書として設定しておく方が管理が楽になります。一括で使用・不使用をオンオフすることもできます。

ユーザー辞書ツール

ユーザー辞書ツールを使えば、ユーザー辞書に現在登録されている単語すべてをシステム辞書に変換することができます。

変換の前準備(1):ユーザー辞書の退避

まず、普段使っているユーザー辞書を退避させます。

変換の前準備(2):辞書テキストファイルの読み込み

次に、「〇〇辞書」に相当するテキスト形式の辞書ファイルをユーザー辞書ツールで読み込みます。ここでは当Webで扱っている「ボーダーブレイク用語辞書」を読み込んでいます。

システム辞書への変換手順

ユーザー辞書ツールを開き、ツールメニューから「システム辞書の作成」を選びます。

f:id:dz_dzone:20160930084359j:plain

システム辞書を保存するフォルダは
「C:\Users\ユーザー名\AppData\Roaming\Microsoft\IME\15.0\IMEJP\UserDict」
です。ユーザー名はご自分の環境、\は¥に読み替えてください。
ファイル名を入力してから、「開く」をクリックします。

f:id:dz_dzone:20160930085408j:plain

全般タブが開くので、「辞書名」「著作権」「説明」を入力して「OK」をクリックします。

f:id:dz_dzone:20160930085539j:plain

ユーザー辞書からシステム辞書に変換されています。完了したら「終了」をクリックします。

f:id:dz_dzone:20160930085601j:plain

f:id:dz_dzone:20160930085618j:plain

これでシステム辞書の作成が完了しました。

システム辞書を使えるように設定する

Microsoft IMEのメニューから「プロパティ」を選びます。

f:id:dz_dzone:20160930085646j:plain

「詳細設定」をクリックします。

f:id:dz_dzone:20160930085814j:plain

「辞書/学習」タブを開き、一番下の「システム辞書」の「追加」をクリックします。

f:id:dz_dzone:20160930085838j:plain

先ほど作成したシステム辞書を選択して「開く」をクリックします。

f:id:dz_dzone:20160930085942j:plain

システム辞書一覧の最下部に先ほど作成したシステム辞書が表示されます。左端のチェックをいれて「OK」または「適用」をクリックします。

f:id:dz_dzone:20160930090031j:plain

これでシステム辞書の登録は完了です。

ユーザー辞書のクリアと復元

最後に、ユーザー辞書の削除(クリア)をします。
ユーザー辞書ツールの一番下の単語行を選択して、スクロールバーを一番上までスクロールします。

f:id:dz_dzone:20170419163208j:plain

Shiftを押しながら一番上の単語行をクリックします。これですべての単語が選択されます。

f:id:dz_dzone:20170419163323j:plain

Deleteキーを押します。確認ダイアログが出るので「はい」をクリックします。

f:id:dz_dzone:20170419163518j:plain

ユーザー辞書が削除されました。

f:id:dz_dzone:20170419163618j:plain

あとはユーザー辞書を復元します。

以上です。

 

関連リンク

dz11.hatenadiary.jp

ユーザー辞書の一括登録方法 ~iOS連絡先編 端末単体で登録~

概要

iOS連絡先の一括登録方法はいくつかありますが、この記事では、母艦を使わずに端末単体でiOS連絡先へ一括登録する方法を解説します。

目次

はじめに

現状、iOSユーザー辞書になんらかの方法を使って辞書を一括で登録する方法は、母艦にMacを使う方法しかありません。端末単体や母艦がWindowsの場合は不可能です。そこで皆さんもご存じの通り、iOS連絡先を辞書代わりにする方法をとるわけです。

この記事では、母艦を使わずに端末単体でiOS連絡先へ一括登録する方法を紹介します。

端末単体でiOS連絡先へ一括登録する手順

取り込む辞書の形式

iOS連絡先に一括登録する形式はvCard形式(拡張子 *.vcf)になります。また、端末単体で登録する場合は、このvCard形式のファイルがインターネットで見られる状態になってなくてはいけません。サンプルとして以下にリンクしたものを載せておきます。

iOS10の場合

  1. Safariブラウザでこの記事を開いてください。
  2. 上記の「ダウンロード」をタップしてください。
  3. 共有アイコン [↑] をタップし、「メールで送信」を選びます。
    ※ここで「”連絡先”で開く」でも手順.6へいく場合があります
    f:id:dz_dzone:20161202194355j:plain f:id:dz_dzone:20161202194545j:plain
  4. メール送信画面になりますので、自分のicloudメールまたはキャリアメールを入力して「送信」します。

    f:id:dz_dzone:20161202194606j:plain

  5. メールが受信されたら添付されているvcfファイルをタップします。

    f:id:dz_dzone:20161202194803j:plain

  6. 連絡先で開かれ、画面上部に「○○○件全ての連絡先を追加」と出ますので、これをタップします。

    f:id:dz_dzone:20161202194927j:plain

  7. 「新規連絡先を作成」をタップします。

    f:id:dz_dzone:20161202194951j:plain

  8. 右上の「完了」(または「保存」)をタップします。

  9. 連絡先を確認します。

    f:id:dz_dzone:20161202195016j:plain

 

その他の場合 (ここでは iOS7の場合)

  1. Safariブラウザでこの記事を開いてください。
  2. 上記の「ダウンロード」をタップしてください。
  3. この画面で、「"連絡先"で開く」をタップしてください。
    なお、次の手順に行くまでにしばらく時間がかかることがあります。

    f:id:dz_dzone:20161204102312j:plain

  4. 「○○○件すべての連絡先を追加」をタップします。

    f:id:dz_dzone:20161204102333j:plain

  5. 「新規連絡先を作成」をタップします。

    f:id:dz_dzone:20161204194248j:plain

  6. この画面に戻るので右上の「保存」をタップします。

    f:id:dz_dzone:20161204102333j:plain

  7. 連絡先が取り込まれました。

    f:id:dz_dzone:20161204102354j:plain

おわりに

この方法を試してもらったときに、どうしてもうまくいかないという場合がありました。原因は分からずでしたが、別の方法もあるのでそちらを試してみてください。

関連リンク

dz11.hatenadiary.jp

 

ユーザー辞書の一括登録方法 ~ATOK for Windows/Mac編~

f:id:dz_dzone:20170724130822p:plain

ATOKのデスクトップ用ソフトウェアはWindowsMac用があります。どちらも基本的に同様の操作でユーザー辞書の一括登録が可能です。

目次

ユーザー辞書の一括登録の手順

辞書ユーティリティを開く

Windowsの場合

下図の箇所で右クリックするとメニュー項目が立ち上がるので、「ATOKメニュー」を選択します。

f:id:dz_dzone:20170419101537j:plain

f:id:dz_dzone:20170419101554j:plain

次にこの画面が立ち上がるので「辞書メンテナンス」から「辞書ユーティリティ」を選択します。

f:id:dz_dzone:20170419101603j:plain

画面が上記と違う場合もあります。

f:id:dz_dzone:20170419101935j:plain

こういう画面の場合は、水色の四角部分を左クリックすると、次の画面のように立ち上がりますので、同様に「辞書ユーティリティ」を選択してください。

f:id:dz_dzone:20170419102104j:plain

Macの場合

四角に囲まれたリストみたいなアイコンがメニューアイコンです。これをクリックするか、バー全体どこでもいいので第二ボタンクリック(右クリック)します。

f:id:dz_dzone:20170428010657p:plain

メニューが立ち上がりますので、Windowsと同様に「辞書メンテナンス」>「辞書ユーティリティ」を選択して下さい。

f:id:dz_dzone:20170428010812p:plain

辞書ユーティリティ

辞書ユーティリティ画面です。Mac版もほとんど同じ画面です。

f:id:dz_dzone:20170419102436j:plain

何も登録していなければ、空の辞書ユーティリティが開きます。このときタイトルバー左に「ATOK30U1.DIC(ATOKユーザー辞書)」(30の部分は29や28の場合もある)とあります。これがユーザー辞書です。

単語の一括登録

ツール>「ファイルから登録・削除」を選択

f:id:dz_dzone:20170419103705j:plain

「単語一括登録」タブの「単語ファイル」の「参照」をクリック

f:id:dz_dzone:20170419103758j:plain

辞書ファイルを選択して「開く」をクリック

f:id:dz_dzone:20170419103854j:plain

登録処理が終わったら「閉じる」をクリックします。

f:id:dz_dzone:20170419103933j:plain

単語が一括登録されました。

f:id:dz_dzone:20170419104038j:plain

以上。

関連リンク


(Excel VBA) 選択範囲、選択シートに対する処理の定型的書き方

f:id:dz_dzone:20170724134148j:plain

選択範囲

Sub Sample1()
    ' ** 選択範囲に対する処理 **
    Dim CL As Range
    For Each CL In Selection
        ' ここで、
        ' Selection = 選択範囲の全てのセル
        ' CL = 選択範囲の個々のセル
        ' を示す。
        ' CLに対する処理を書くとFor Each~Nextでループして全ての選択セル
        ' に対する処理となる。
    Next CL
End Sub

選択シート

Sub Sample2()
    ' ** 選択シートに対する処理 **
    Dim WS As Worksheet
    For Each WS In ActiveWindows.SelectedSheets
        ' ここで、
        ' ActiveWindows.SelectedSheets = 選択シートの全てのシート
        ' WS = 選択シートの個々のシート
        ' を示す。
        ' WSに対する処理を書くとFor Each~Nextでループして全ての選択シート
        ' に対する処理となる。
    Next WS

全てのシート

データ集計をやっていると全てのシートに適用させたい場合が多々出てきます。この場合は、

Sub Sample3()
    ' ** 全シートに対する処理 **
    Dim WS As Worksheet
    For Each WS In Worksheets
        ' ここで、
        ' Worksheets = 全てのワークシート
        ' WS = 個々のシート
        ' を示す。
        ' WSに対する処理を書くとFor Each~Nextでループして全てのシート
        ' に対する処理となる。
    Next WS
End Sub

(Excel VBA) セルのコメントを一括で表示・非表示にする

f:id:dz_dzone:20170724134148j:plain

(追記) 気付いたんだけど、校閲タブのコメントグループにボタンがあった

これについては全くの見落としでしたが、よく見たら校閲タブのコメントグループに完全にこれ!っていうボタンが用意してありました。
f:id:dz_dzone:20170819144921j:plain

  • コメントの表示/非表示 :セル単位でのトグルボタン
  • 全てのコメントの表示 :シート単位でのトグルボタン

それはそれとしてマクロでやる場合の記事が以下になります。

セルのコメントを一括表示する

はじめに

セルのコンテキストメニュー(右クリックメニュー)にある「セルの表示/非表示」はセル単位でしか働かず、複数セルを選択していてもあくまで現在のセルにしか効果はありません。

選択範囲のセルのコメントを一括で表示にする

Sub AllCommentVisibleTrue()
    Dim c As Range    
    For Each c In Selection
        c.Comment.Visible = True
    Next c
End Sub

選択範囲のセルが全てコメントを含んでいればうまく動きますが、選択範囲にコメントが含まれていないセルがあるとエラーになります。ならばエラーを無視すればいいのでは?

    On Error Resume Next

これをDim行の上に入れることで動きました。この行の意味は「エラーが起きたら無視して次へ進め」です。

アクティブシートに含まれるコメントを一括で表示にする

それではセルの選択なしにアクティブシートのコメントを一括で表示する場合はどうなるでしょう。先ほどまではセルに対するcommentオブジェクトを操作していますが、こちらではワークシートに対するcommentsコレクションを操作します。

Sub SheetCommentVisibleTrue()
    ' ** アクティブシートのコメントを一括で表示にする **
    For i = 1 To ActiveSheet.Comments.Count
        ActiveSheet.Comments(i).Visible = True
    Next i
End Sub

非表示の場合

commentオブジェクトやcommenntsコレクションのVisibleプロパティに
表示  :True
非表示:False
を設定する

以上。

Simeji for Android用のユーザー辞書ファイルをWindows版Excelで作成するシートを公開します

f:id:dz_dzone:20170724134242j:plain

概要

MS-IME, GoogleIME, ATOKなど主要な日本語入力アプリのユーザー辞書ファイルにはタブ区切りテキストファイルが使われていることが多いです。Baidu IMEも同様です。ところが、Simeji for Androidのユーザー辞書ファイルはこれらとはまったく書式の異なるものになっています。そこでWindowsExcelを使って一般的な形式をSimeji for Android形式に変換するExcelマクロを作ってみました。

Simeji for Android用ユーザー辞書ファイルの書式

Simeji for Android用ユーザー辞書ファイルの書式は一般的な辞書ファイルとは全く違う構成で、改行が全くなく、1行目にすべてが記載されています。

{"EN_KEY":[],"EN_VALUE":[],"JAJP_VALUE":["単語1","単語2",……],"JAJP_KEY":["読み1","読み2",……]}

単語のセクションと読みのセクションが離れているため対になっているものを比較するのが難しいです。なお、品詞やコメントはありません。

辞書ファイルを作成するExcelシート

ダウンロード

  • ExcelでSimeji for Android用のユーザー辞書ファイルを作成するシート
  • ファイル名:Excel2Simeji.xlsm
  • ダウンロード:Excel2Simeji.zip (zip形式圧縮)
  • 動作確認:Excel2010, Excel2013 (どちらもWindows版)で確認しています。Excel for Macでは動きません(エラーが出ます)。

使い方

ファイルをダウンロードしたら、適当なフォルダに解凍してください。
f:id:dz_dzone:20170414115054j:plain

Excel2Simeji.xlsmファイルを開きます。この時にセキュリティの警告が出た場合は「コンテンツの有効化」ボタンをクリックしてください。
f:id:dz_dzone:20170414114827j:plain

設定画面です。ここでは「変換元シート名」を変更することが出来ます。
f:id:dz_dzone:20170414114207j:plain

「変換元シート名」で設定した名前のシートに移動します。ここでは「Sample」シート。
A列に"読み(ひらがな)"、B列に"単語"を入力します。別のタブ区切りテキスト形式の辞書(ATOK, MS-IME, Google日本語入力など)からコピーしてきても構いません。
f:id:dz_dzone:20170414133200j:plain

"設定"シートに戻り、"Simeji辞書作成"ボタンをクリックすると変換開始します。
f:id:dz_dzone:20170414114207j:plain

既存の辞書ファイルがある場合上書きされる旨の確認ダイアログが出ます。
f:id:dz_dzone:20170414133822j:plain

設定シートの「変換元シート名」のシートがもし存在しない場合、警告ダイアログが出ます。
f:id:dz_dzone:20170414133927j:plain

うまく変換されると確認ダイアログが出ます。
f:id:dz_dzone:20170414133957j:plain

エクセルファイルと同じフォルダに"simeji_user_dic.txt"が作成されました。
f:id:dz_dzone:20170414134051j:plain

出力された内容です。

{"EN_KEY":[],"EN_VALUE":[],"JAJP_VALUE":["マリア様がみてる","マリみて","今野緖雪","ひびき玲音","リリアン女学園","リリアン","山百合会","薔薇の館","白薔薇","紅薔薇","黄薔薇","紅薔薇","ロサ・ギガンティア","ロサ・キネンシス","ロサ・フェティダ","アン・ブゥトン","プティスール","グランスール","スール"],"JAJP_KEY":["まりあさまがみてる","まりみて","こんのおゆき","ひびきれいね","りりあんじょがくえん","りりあん","やまゆりかい","ばらのやかた","しろばら","べにばら","きばら","あかばら","ろさぎがんてぃあ","ろさきねんしす","ろさふぇてぃだ","あんぶーとん","ぷちすーる","ぐらんすーる","すーる"]}


あとはスマホにファイルを移してSimejiに取り込みます。

関連記事

dz11.hatenadiary.jp

Microsoft IMEのユーザー辞書の一時退避方法と復元方法

f:id:dz_dzone:20170724134529p:plain

概要

Microsoft IMEで、「システム辞書(専門辞書)を作りたいけど既にユーザー辞書に結構登録しちゃってるんだけど……」という場合は常にあると思います。ここでは現在登録されているユーザー辞書を一時退避する方法および復元する(戻す)方法を解説します。

目次

ユーザー辞書の一時退避(エクスポート)

ユーザー辞書の一時退避方法

ユーザー辞書ツールを開きます。

f:id:dz_dzone:20170413151013j:plain

f:id:dz_dzone:20170413151044j:plain

ツール>一覧の出力 を選択します。

f:id:dz_dzone:20170413151124j:plain

Microsoft IME形式のTXT辞書ファイルが出力されます。

f:id:dz_dzone:20170413151419j:plain

f:id:dz_dzone:20170413151429j:plain

 

ユーザー辞書の一括削除方法 

今出力したTXTファイルで一時的なユーザー辞書の削除もできます。

ツール>テキストファイルで削除 を選択します。

f:id:dz_dzone:20170413151530j:plain

さきほど一時退避したファイル(ここでは output1.txt)を開きます。

f:id:dz_dzone:20170413151546j:plain

f:id:dz_dzone:20170413151633j:plain

削除されました。

f:id:dz_dzone:20170413151709j:plain

 

ユーザー辞書の復元(インポート)

ユーザー辞書の復元方法

ユーザー辞書ツールで、 ツール>テキストファイルからの登録 を選択します。

f:id:dz_dzone:20170413152434j:plain

一時退避していたファイル(ここでは output1.txt)を開きます。

f:id:dz_dzone:20170413152519j:plain

f:id:dz_dzone:20170413152529j:plain

ユーザー辞書が復元されました。

f:id:dz_dzone:20170413152550j:plain

以上。

ATOK for Windows / Macを買ったらまず設定しておきたいたった一つの項目

f:id:dz_dzone:20170724130822p:plain

目次

はじめに

ATOK、変換が賢いのはとっても好きなんですけど、デフォルトの設定で使っているとユーザー辞書があっという間にアホというか馬鹿というかめちゃくちゃになっていきます。

下の画像は、私が2014年まで使っていたATOKのたぶん10年分くらいのユーザー辞書データの頭の方です。こんなのが全部で8136件入っています。もうね、何が何だかわかんないでしょ。(画像注:単語種類が"登録単語”になってますが、実際は"自動登録単語"として登録されたものです)

f:id:dz_dzone:20170412171617j:plain

こんなのがユーザー辞書に入っていても実質的に使えないので、こうならないための設定をします。

 

設定方法 

ATOKメニューを開きます。

f:id:dz_dzone:20170412172204j:plain

f:id:dz_dzone:20170412172222j:plain

プロパティ(環境設定)を開きます。

f:id:dz_dzone:20170412172507j:plain

"辞書・学習"タブを開き、"学習"の"詳細設定"をクリックします。

f:id:dz_dzone:20170412172638j:plain

デフォルトの設定項目と内容

"学習・登録詳細設定"が開きます。

f:id:dz_dzone:20170412173019j:plain

何も設定を変えていない場合の初期値が上記画像になります。
自動登録がほとんど"する(強)"になっています。この設定が一番最初に示しためちゃくちゃなユーザー辞書を作成します。ちなみに設定はこの3つのレベルから選択できます。

f:id:dz_dzone:20170412173559j:plain

新しく設定する項目と内容

そこで、この設定を次のように変更します。

f:id:dz_dzone:20170412173702j:plain

ほとんどの設定を"一時”にします。

おわりに

これでユーザー辞書が勝手に自動登録単語で埋まっていくことがなくなります。

私の場合、本当に必要な単語は手動で単語登録しています。

(VBScript) XLSTARTフォルダを開く (無い場合は作成して開く)

f:id:dz_dzone:20170725083601j:plain
Excelで個人用マクロファイル(Personal.xlsb)を作るなど、XLSTARTフォルダを開かせる場合があると思いますが、ユーザープロファイルの奥なのでちょっとややこしいですよね。そこでVBScriptで開くようにしてみました。

追記(2017.7.13):フォルダが存在しないときに親フォルダが表示されてしまうので、XLSTARTフォルが存在しない場合はフォルダを作成するようにしました。

'** XLSTARTフォルダを開くスクリプト(無ければ作成) **
Dim WshShell
Dim objShell
Dim objFSO
Dim strFldr

Set WshShell = WScript.CreateObject("WScript.Shell")
Set objShell = WScript.CreateObject("Shell.Application")
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

' ユーザープロファイルフォルダをパスに展開してXLSTARTまでのパスを追加
strFldr = WshShell.ExpandEnvironmentStrings("%USERPROFILE%") & _
				"\AppData\Roaming\Microsoft\Excel\XLSTART"

' XLSTARTフォルダの存在を確認。なければ作成する
If objFSO.FolderExists(strFldr) = False Then
	objFSO.CreateFolder(strFldr)
	Msgbox strFldr & vbcrlf & "上記フォルダを作成しました。", vbOKOnly + VbInformation, "報告"
End If

' エクスプローラで開く
objShell.Explore strFldr

これをテキストエディタ(Notepadなど)に貼り付けて"適当な名前.vbs"で保存してダブルクリックすれば開きます。

スクリプトファイルのダウンロードはこちら→ OpenXLSTART.zip(XLSTARTを開く.vbs)

追記あり (Excel VBA) 選択範囲の全角スペースおよび半角スペースを一括で削除する

注意点 (2017.7.18追記)

2017年4月の追記以降、しばらく運用してみたんですが、原因は不明なんですけど、やっぱりどうしても選択範囲だけじゃなくてワークシート全体のスペースが一括で削除されてしまうことが多いので、もうちょっと考えた方がいいのかなと思いました。
そういうことがあるという前提でこの記事を読んで下さい。申し訳ありませんが宜しくお願い致します。

全・半角スペースを削除する

削除は置換

文字を削除するときにはReplaceメソッドを使います。削除というか、""に置換する訳です。そして、選択範囲の全角スペースおよび半角スペースを削除する場合は、Selectionに対してReplaceを適用します。

Sub DelSpaces()
    ' ** 選択範囲の全・半角スペースを削除 **
    Selection.Replace " ", "" ' <--- スペースは全角で入力
    Selection.Replace " ", ""
End Sub

または、キャラクターコードで記述して

Sub DelSpaces()
    ' ** 選択範囲の全・半角スペースを削除 **
    Selection.Replace Chr(-32448), ""
    Selection.Replace Chr(32), ""
End Sub

VBAではアンドゥ(UnDo)が使えない

注意点として、VBAで操作した場合はアンドゥが使えませんので、あらかじめ保存しておくとかMsgboxで注意を促すような処理を入れるのがよいでしょう。

    Msgbox "はじめに上書き保存します。", vbOKOnly + vbExclamation
    ActiveWorkbook.Save

[ 2017.4.26追記 ]

選択範囲外のスペースも削除されてしまうことがある!

しばらく上記のコードで運用していたところ、"選択範囲を指定しているにもかかわらず、選択範囲以外の全てのセルでスペースが削除されてしまう"場合が何回も発生しました。

そこで、コードを改良することにしました。

選択範囲は取得されてるのか?

最初に思ったのは、このSelectionは本当に取得されているのか?

Sub CheckSelection()
    Dim R1, R2, C1, C2, cnt
    cnt = Selection.Count
    R1 = Selection(1).Row
    C1 = Selection(1).Column
    R2 = Selection(cnt).Row
    C2 = Selection(cnt).Column

    MsgBox R1 & "," & C1 & "-" & R2 & "," & C2
End Sub

結果は、取得されているようです。
f:id:dz_dzone:20170426094955j:plain
ならばと、改良コードその1

Sub DelSpaceV2()
    ' ** 選択範囲の全・半角スペースを削除 **
    Dim R1, R2, C1, C2, cnt
    cnt = Selection.Count
    R1 = Selection(1).Row
    C1 = Selection(1).Column
    R2 = Selection(cnt).Row
    C2 = Selection(cnt).Column
    
    For r = R1 To R2
        For c = C1 To C2
            Cells(r, c).Replace Chr(-32448), ""
            Cells(r, c).Replace Chr(32), ""
        Next c
    Next r
End Sub

ただ、上記コードだと単一の矩形範囲しか選択できませんよね。ということで、改良コードその2

Sub DelSpaceV3()
    ' ** 選択範囲の全・半角スペースを削除 **
    Dim CL As Range
    For Each CL In Selection
        CL.Replace Chr(-32448), ""
        CL.Replace Chr(32), ""
    Next CL
End Sub

とりあえずこれでまたしばらく運用してみることにします。

(Excel VBA) 選択範囲の全角半角変換

はてな記法の練習も兼ねて。>
はてな記法一覧 - はてなダイアリーのヘルプ

趣味と実益を兼ねたVBA。仕事を楽にするために一応使ってる。
今回は全角→半角変換。まあ基本と言えば基本だが……

Sub W2N1()
    ' ★★ 選択範囲:全角→半角 ★★
    Dim i, j As Long
    '選択範囲
    For i = Selection(1).Row To Selection(Selection.Count).Row
        For j = Selection(1).Column To Selection(Selection.Count).Column
            Cells(i, j) = StrConv(Cells(i, j), vbNarrow)
        Next j
    Next i
End Sub

よりも、下記の方がスマート。

Sub W2N2()
    ' ★★ 選択範囲:全角→半角 ★★
    Dim SR As Range
    For Each SR In Selection
        SR.Value = StrConv(SR.Value, vbNarrow)
    Next SR
End Sub

スマートというのもあるが、不定形の選択範囲(飛び飛びだったり)ではこちらでないとうまくうごかない。