ここの聞くのが正しいのかどうなのか迷ったのですが・・・みなさんお詳しそうなので、教えて下さい。
過去に作成されたシステムをインストールファイルを使ってインストールしたところ、“429 OLE オートメーションサーバーはオブジェクトを作成できません”とメッセージが出て起動できません。
ちなみに作成されたのは、10年前(Windows95の頃だったと思います)
VBのヴァージョンは、4だったと思います。
それを、今現在使おうとしているのが、WindowsXPもしくは2000です。
何か回避する方法をご存知でないでしょうか?
よろしくお願いします。
そのPCには入っていないor登録されていないOLE Automationオブジェクト、
を生成しようとしていませんか?
>そのPCには入っていないor登録されていないOLE Automationオブジェクト、
>を生成しようとしていませんか?
コメントありがとうございます。
それは、どういう意味なのでしょうか?
ネットで検索して調べてみたのですが、もう一つわかりません
詳しくないもので、すみません、、、、、
何か回避する方法はありませんか?
裏技的なことになってしまうかもしれません、、、
<削除>
<削除>
<削除>
<削除>
<削除>
<削除>
解決策は、必要なオブジェクトをそのPCに入れることだと思いますよ。
# それ以上でも以下でもない。
たとえば、Excelが入っていないPCで、
Dim oExcelApp As Excel.Application
Set oExcelApp = New Excel.Application
としたら、Newした段階でエラーが発生しますよね。
# CreateObjectやGteObject関数でも同様です。
コメントありがとうございます。
ACCESSが必要なことがわかり、OFFICEのヴァージョンを変え
インストールし直したりしたのですが、状況は変わらずで…
ネットでは、レジストリーの登録が原因では?と書いてあったのもあるの
ですが、VBのインストールディスクを使ってインストールしたのに…
それに、初心者がレジストリーまで触るのには抵抗があって、、、困って
います。
どう設定されたのかわからないのですが、実際動いているPCもあるので
何か設定方法等あるとは思うのですが、設定した本人が覚えていないと
いうもので・・・
やはりレジストリーに何らかの変更を加えなければいけないのでしょうか?
現物を持っている貴殿や開発者本人が分からないのであれば、
掲示板を見ている第三者には、もっと分かりませんよね。
答えられるのは一般論に過ぎず、具体的な回答が付く事も無いかと。
> VBのヴァージョンは、4だったと思います。
MSVBVM40.DLL ファイルが無いと動作しなくなるようであれば、
VB4(32bit版)だという事になります。DLL をリネームしてもエラー内容が
変化しないのであれば、別のバージョンの可能性が出てきます。
で、もしも VB4 だとしたら、Update2 のモジュールを適用してあるか否かも
チェックしておいた方が良いでしょう。
> ACCESSが必要なことがわかり、OFFICEのヴァージョンを変え
VB4 から mdb の操作を行うようなプログラムなのでしょうか?
もしそうであれば、どちらかというと Access ではなく、DAO 3.0 を
使う事の方が多いような気もしますけれども。
(Access モジュールが必要なら、最初から VB4 ではなく Access で開発するでしょうし)
で、もしも本当に Access が必要だとしたら、VB4 当時ならば Access95 を
使用していた可能性が高いと思いますので、VB4 + Access95 の組み合わせの
アプリを作って見て、その環境で動くかどうかをチェックして見ては。
Access 95 を使ったアプリの作り方は、このあたりを参考に。
http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/6/vbacc/vbacc.html
> ネットでは、レジストリーの登録が原因では?と書いてあったのも
オートメーション オブジェクトは、レジストリに登録して使うものなので、
そのエラーが出るのであれば、「レジストリに登録されていない」か、
「登録されているが、元のファイルが存在しない」とか、あるいは、
「そのファイルが依存している、別のファイルが存在しない」などといった
状況である事が想像できます。
ですが、それが具体的にどのコンポーネントであるのかは、
具体的なソースを見ない事には何とも……。
もしかしたら、レジストリモニタを使う事で、ある程度の情報が得られるかも
知れませんが、ある程度の前提となる知識が無いと、それも難しいでしょうね。
http://www.atmarkit.co.jp/fwin2k/win2ktips/111regmon/111regmon.html
せめて、当時のソースコードは残っていないのでしょうか?
> MSVBVM40.DLL ファイルが無いと動作しなくなるようであれば、
すみません、ファイル名を間違えました。m(_ _)m
各バージョンのコアランタイムファイル名は、
VB5 …『MSVBVM50.DLL』
VB6 …『MSVBVM60.DLL』
VB4/32bit …『VB40032.DLL』
VB4/16bit …『VB40016.DLL』
VB3英語版 …『VBRUN300.DLL』、
VB2日本語版 …『VBRJP200.DLL』
のようになっています。
このファイルが無いと、それぞれの VB バージョンのアプリは動きません。
コメントありがとうございました。
頂いたコメントと、ネットを参考にDLLの追加とレジストリーへの登録で
無事に起動することができました。ありがとうございました。
ツイート | ![]() |