• ベストアンサー

「設定値」は設定できないのですか?

アクセスです。 Sub test() Forms("Fログイン").txt_サイト名.IMEMode = "Hiragana" End Sub にしたら、型が一致しません。(Error 13)になりました。 ヘルプを見ると「設定値」に「Hiragana」と書いてあったからそうしたのですがダメでした。 しかし、「Visual Basic」の項目の4を設定したら問題なく設定できました。 マイクロソフトのヘルプの見方がよくわからないのですが vbaで値を設定する時は、設定値ではなくVisual Basicの値を設定するべきなのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • sech1152
  • ベストアンサー率72% (45/62)
回答No.1

アクセスということなのでVBAだと思います。バージョンが分からないので、もしかしたら違うところがあるかも知れません。 >Forms("Fログイン").txt_サイト名.IMEMode = "Hiragana" の「txt_サイト名」というのはTextBoxでいいでしょうか。 まず、「型が一致しません。(Error 13)」になってしまうのは、TextBox.IMEModeには数値を設定しなければいけないのに、文字列("Hiragana")を設定しようとしているためです。 コードで(VBAで)設定するときは、ヘルプにある「Visual Basic」の列を設定します。 「設定値」の列は、たぶん、デザインビューのプロパティシートで設定するときのものだと思います。 なので、 Forms("Fログイン").txt_サイト名.IMEMode = 4 ということになるのですが、「4」では覚えにくいし、後で何だか分からなくなってしまいやすいので、こういうときは、定義済みの定数(列挙)を使うといいと思います。 列挙を使うとこの場合は、 Forms("Fログイン").txt_サイト名.IMEMode = acImeModeHiragana あるいは Forms("Fログイン").txt_サイト名.IMEMode = AcImeMode.acImeModeHiragana になります。 (AcImeMode.acImeModeHiraganaは値が4として定義されています。) 最初から使えるオブジェクト(自分で作成したものでなくAccess等で定義済みのオブジェクト)のプロパティには、それ用の列挙が用意されていることがよくあります。 ただ、ヘルプでは、TextBox.IMEModeのページを見ても、どの列挙が使えるのかが分からないですね。 どこかに分かりやすくまとめたサイトがあるかも知れませんが、アクセスのヘルプからは「列挙」や「Enumerations」「定数」(バージョンによって名称が違うかもしれない)のページから、それらしい名前のもの(この場合はImeが付いているなど)を探さないといけないみたいです。 それよりも、オブジェクトブラウザで調べた方が早いと思います。 コードを入力する画面でF2キーを押すとオブジェクトブラウザが表示されると思いますが、そのなかで、クラス(TextBox)、メンバ(IMEMode)とたどっていくと、IMEModeに設定できる列挙が表示されます。 Access2013のドキュメント http://msdn.microsoft.com/ja-jp/library/office/ff837038.aspx http://msdn.microsoft.com/ja-jp/library/office/ff835083.aspx

igbnkdedcymf
質問者

お礼

ありがとうございます。

その他の回答 (1)

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.2

VBAではないですが テーブルの各フィールドのプロパティーでIME入力モード、IME変換モードで出来ます ナビゲーションウィンド内のテーブル名を右クリックして デザインモードに入ります。 尚、その他沢山のプロパティー項目が有りますがここで設定した内容は全て クエリー、フォーム、レポートに反映します また、太字、斜体、アンダーラインはフォームまたはレポートのプロパティー で設定します

igbnkdedcymf
質問者

お礼

ありがとうございます。