• ベストアンサー

ACCESSでのGetPhoneticの使用方法

ACCESS2000でのGetPhoneticの使用方法を教えてください。 いろいろ調べてやって見たのですが、GetPhoneticを実行時に アプリケーション定義またはオブジェクト定義エラーになってしまします。 参照設定でMSIME type Library(MSIME.TBL)を参照可能にする必要があるようですが、 MSIME.TBLがありません。ACCESS2000では何を参照可能にすればよいのでしょうか? お教えください。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

Accessには備えられていない関数です。Excelには あるので、Excelから機能を借りて利用するために、 たとえば、以下のように設定します。 Function cmdGetPhonetic(strName As String) As String Dim exObj As Object Set exObj = CreateObject("Excel.Application") cmdGetPhonetic = exObj.GetPhonetic(strName) End Function これで、関数cmdGetPhoneticはExcelのGetPhonetic関数 を利用してAccessで利用できるようになります。 ミソは、 Set exObj = CreateObject("Excel.Application") で、Excelオブジェクトを作成することです。 Access2000でも立派に動作します。 手前ミソですが、以下。 http://oshiete1.watch.impress.co.jp/qa5633572.html

nbtk40
質問者

お礼

どうもありがとうございました。 もう一度試してみます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

No1です。 GetPhoneticはExcel2000から追加されたので、 Excel2000以上が必要です。 なお、No1の説明を少し補足しますと、 >ACCESS2000では何を参照可能にすればよいのでしょうか? は、 CreateObject("Excel.Application") でExcelオブジェクトを作成して、 Set exObj = CreateObject("Excel.Application") により、そのオブジェクトを変数exObjに入れて、 exObjを通じてExcelのオブジェクトの メンバであるGetPhoneticを利用する、 ということです。

nbtk40
質問者

お礼

どうもありがとうございました。 とても参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アクセス2003で作成したのデータベースの移動について。

    アクセス2003でデータベースを作成したものを別のPCで開こうとすると下記のエラーが出て開けません。対処法に「参照設定」をクリックするとあるのですが、その「参照設定」が表示されません(アクティブになりません。)どのように対処したらよいのか教えてください。あるフォームでボタンをクリックすると、ドキュメントの画像が開くように設定していることが関係するのでしょうか。 データベースを移した先のPCで再度、その画像を開く場所を設定しなおす必要があるのでしょうか。 ちなみにコードのPrivate Sub Form_Open (Cancel As Integer)がハイライトされます。 エラー内容:データベースまたはプロジェクトにファイル‘vsdraw7.ocx’version 1.0.を参照する切断された参照が含まれています。この参照を修復してください。 対処方法:実行しようとしているアプリケーションには解決できないオブジェクト、タイプライブラリ、DLL、または外部データべースに対する参照が含まれます。オブジェクト、タイプライブラリ、DLL、または外部データべースが削除されたか名前が変更されています。 VBEの「ツール」メニューの「参照設定」をクリックし、「参照設定」ダイアログボックスの「参照可能なライブラリファイル」リストを確認し、必要な操作を実行してください。 「参照可能なライブラリファイル」リストの“参照不可”で始まっている参照のチェックボックスをオフにし、必要のない参照を削除してください。その参照をまだ使用する必要がある場合は、「参照可能なライブラリファイル」リストで“参照不可:<ライブラリファイル>”のチェックボックスをオフにし、「参照」ボタンをクリックして、ファイルに対する新しい参照を作成してください。 このデータベースアプリケーションがインストールされたものであれば、再インストールするか修復しなければならない可能性があります。 長々となりまして申し訳ありませんがよろしくお願いいたします。

  • ACCESS2010スタートフォームの起動不具合

    windows8.1パソコンで作成し問題のないMDBを、windows7パソコンで使用したらスタートフォーム(起動時設定)の起動時不具合が発生。「いずれのパソコンもACCESS2010を使用しています。」 【windows7での不具合内容】 ・不具合1、 起動時にダイアログが表示されてスタートフォームが正常に起動しません。ダイアログには「データベースまたはプロジェクトに、ファイル”MSCAL.OCX”Version7.0を参照する切断された参照が含まれています。」と明記されています。ダイアログのコマンドボタンを押すとスタートフォームが起動します。但し、スタートフォームに配している閉じるボタン等は重くて反応が遅いです。 <ヘルプファイルの記述> 実行しようとしているアプリケーションには解決できないオブジェクト、タイプ ライブラリ、DLL、または外部データベースに対する参照が含まれています。オブジェクト、タイプ ライブラリ、DLL、または外部データベースが削除されたか、名前が変更されています。Visual Basic Editor の [ツール] メニューの [参照設定] をクリックし、[参照設定] ダイアログ ボックスの [参照可能なライブラリ ファイル] リストを確認し、必要な操作を実行してください。このアプリケーションの作成者でない場合は、システムの開発者または管理者に問い合わせてください。 [参照可能なライブラリ ファイル] リストの "参照不可:" で始まっている参照のチェック ボックスをオフにし、必要のない参照を削除してください。その参照をまだ使用する必要がある場合は、[参照可能なライブラリ ファイル] リストで "参照不可: " のチェック ボックスをオフにし、[参照] ボタンをクリックしてファイルに対する新しい参照を作成してください。これが、インストールされているデータベース アプリケーションである場合は、アプリケーションを再インストールまたは修復しなければならない可能性があります。 ・不具合2、 テキスト窓に表示されている年号や月日のカレンダーが全て文字化け「#Name?」ている。尚、windows8.1での使用では以上の症状はありません。 【不具合2で気になること】 windows8.1で作成時にカレンダー機能を利用していますが、windows7ではActiveX コントロールの一覧にMicrosoft Date and Time Picker Control 6.0 がありませんでした。 以上、丸投げと思われたくないので分かる範囲で記述しました。申し訳ないですが正直わかりません。分っていませんので、宜しくお願いします。

  • 早速やってみましたが、エラーが出てきてできません。

    早速やってみましたが、エラーが出てきてできません。  「ユーザー定義型が定義されていません。」と Dim DB As Database ここでとまってしまいます。 Help見たのですが、「オブジェクト ライブラリまたはタイプ ライブラリで定義する」とありました。 設定してみようとしたのですが、どれが必要なのかさっぱりわかりません。

  • Accessファイルバージョンの取得

    教えてください とあるサイトで、以下のAccessファイルのバージョンを所得するVBAを発見し、実行しましたが、 CurrentProject.FileFormat のステートメントで、「オブジェクトが必要です」エラーが発生します。 何か解決方法はありますでしょうか? 環境はwinXP+Access97です。 どうかご教授お願いいたします。 'File形式を判別します。 Select Case CurrentProject.FileFormat Case acFileFormatAccess97 strFormat = "Access 97" Case acFileFormatAccess2000 strFormat = "Access 2000" Case acFileFormatAccess2002 strFormat = "Access 2002-2003" End Select 参照設定は次の通り設定しあります。 Visual Basic For Application Microfoft Access 8.0 Object Library OLE Automation Microsoft ActiveX Data Objects 2.1 Library よろしくお願いいたします

  • TreeViewの質問です(access)

    <環境>access2007 vbで開発したシステムをaccessに乗せ換えています。 そこで質問が2点あります。 (1)定数を読み取るには?  TreeViewのMouseMoveイベントで If Button = vbLeftButton Then  としたいのですが、コンパイルエラーとなります。エラー:変数が定義されていません。  「vbLeftButton 」の定数を読み取るにはどうすればいいのでしょうか?  参照設定でしょうか? (2)TreeViewのプロパティが参照できない  TreeViewコントロールで以下のプロパティが参照できません。  こちらも参照設定でしょうか?  ・TreeViewオブジェクト.DragIcon  ・TreeViewオブジェクト.Drag  ・TreeViewオブジェクト.DropHighlight よろしくお願いします。

  • アクセスvbaでフリガナを取得したいのですが

    Sub tset() MsgBox Application.GetPhonetic("東京") End Sub だとエラーになってしまいます。 エクセルでは問題なく使えます。 どうやら、 GetPhoneticは、エクセルのみで使用できるメソッドのようです。 なのでググってみたら https://foolexp.wordpress.com/2012/07/14/p2wpsu-4l/ がヒットしたのですが、 作者には申し訳ないのですが、 もうちょっとスマートなコードはないのでしょうか? エクセルオブジェクトを作ってやる方法があると思うのですが コードがわかりません。

  • アクセスvbaでクリップボードにコピーの動作を実行

    アクセスvbaでクリップボードにコピーの動作を実行したいです。 エクセルなら、 Sub test() Dim buf As String Dim CB As New DataObject buf = "test" With CB .SetText buf ''変数のデータをDataObjectに格納する .PutInClipboard ''DataObjectのデータをクリップボードに格納する .GetFromClipboard ''クリップボードからDataObjectにデータを取得する Debug.Print .GetText ''DataObjectのデータを変数に取得する End With End Sub これが実行できるのですが、 どうやらアクセスだと Dim CB As New DataObject これがエラーになるようです。 Dim CB As Objectにすると .SetText buf で実行時エラー91になります。 (「オブジェクト変数またはWithブロック変数が設定されていません」) http://officetanaka.net/excel/vba/tips/tips20.htm によると、 「DataObjectオブジェクトはMSFormsのメンバです。使用するには、Microsoft Forms 2.0 Object Libraryを参照設定します。または、ブックにUserFormを挿入すると自動的に参照設定されます。」 なので、アクセスvbaの参照設定で「Microsoft Forms 2.0 Object Library」を探したのですが、 ありませんでした。 当方バージョンは2010です。 アクセスでは不可能と言うことでしょうか? ご教授よろしくお願いします。

  • Accessの参照設定メニュー

    Office2000Professionalをインストールしたのですが、 Access2000の「ツール」メニューに「参照設定」が 存在しません。そのため、Microsoft DAO 3.6 Object Libraryを使用することが出来ません。 ツールメニューに「参照設定」が表示されない理由及び 表示されるようにする方法を教えて下さい。 環境は OS:Windows2000 Professional(サービスパック2) Office2000 Professional です。

  • Access VBA 参照設定とは・・?

    Access初心者です。2003を使用しています。 ライブラリの参照設定(この表現でわかるでしょうか?)で参照するライブラリを増やし、モジュールを作成しました。このモジュールを含むツールは問題なく私のPCでは動いていましたが、ファイルサーバに投入し他のPCで実行させると、「・・・参照する切断された参照が含まれています。」とエラーがでてしまいます。 エラーを一旦閉じ、参照設定を見ると「(非参照)・・・・」にチェックが入っていました。このチェックを外すと問題なく動きます。チェックを外す作業を他の人にやってもらったので、ライブラリ名までわかりませんが、ツール作成時に「Microsoft ActiveX Data Object 2.1 Library」を参照可能にしました。 以下が初心者な質問ですがご教授いただきたい部分です。 ライブラリの参照設定は、インストールされているAccessに設定されるのでしょうか?それとも、作成したファイル毎の設定になるのでしょうか?前述の場合でしたら、ツールを配付した先で設定を変更してもらわねばなりません。後述でしたらモジュールをインポートした際に参照設定を変更しなければなりません。 また、参照設定の変更はVBAを用いて変更可能でしょうか?(フォームボタンから参照のON・OFF) へたくそな文章で伝わり難いとは思いますが、どなたかご教授ねがいます。

  • ACCESSのVBAについて

    アクセスのVBAでdatebaseやRecordsetが宣言できません。ヘルプでは【参照設定】でDate Access Objectをオンに指定ない場合は認識されずエラーになります と書いており、参照設定を見たのですがDate Access Objectという欄がありません、どうしたら宣言することができますか? 例)Dim db As Database Dim rsDate As Recordsetこれらがエラーになる。 大変困っています。ちなみにAccess2000です。