429 オートメーションサーバーはオブジェクトを作成できません

解決


VB初心者  2006-10-24 22:49:50  No: 133814

ここの聞くのが正しいのかどうなのか迷ったのですが・・・みなさんお詳しそうなので、教えて下さい。

過去に作成されたシステムをインストールファイルを使ってインストールしたところ、“429 OLE オートメーションサーバーはオブジェクトを作成できません”とメッセージが出て起動できません。

ちなみに作成されたのは、10年前(Windows95の頃だったと思います)
VBのヴァージョンは、4だったと思います。

それを、今現在使おうとしているのが、WindowsXPもしくは2000です。
何か回避する方法をご存知でないでしょうか?
よろしくお願いします。


K.J.K.  2006-10-24 23:05:08  No: 133815

そのPCには入っていないor登録されていないOLE Automationオブジェクト、
を生成しようとしていませんか?


VB初心者  2006-10-25 00:04:50  No: 133816

>そのPCには入っていないor登録されていないOLE Automationオブジェクト、
>を生成しようとしていませんか?

コメントありがとうございます。
それは、どういう意味なのでしょうか?
ネットで検索して調べてみたのですが、もう一つわかりません
詳しくないもので、すみません、、、、、

何か回避する方法はありませんか?
裏技的なことになってしまうかもしれません、、、


あん  2006-10-25 03:14:00  No: 133817

<削除>


VB初心者  2006-10-25 03:20:23  No: 133818

<削除>


あん  2006-10-25 03:27:44  No: 133819

<削除>


VB初心者  2006-10-25 03:53:45  No: 133820

<削除>


あん  2006-10-25 04:09:16  No: 133821

<削除>


VB初心者  2006-10-25 04:25:34  No: 133822

<削除>


K.J.K.  2006-10-25 05:04:36  No: 133823

解決策は、必要なオブジェクトをそのPCに入れることだと思いますよ。
# それ以上でも以下でもない。

たとえば、Excelが入っていないPCで、

Dim oExcelApp As Excel.Application
Set oExcelApp = New Excel.Application

としたら、Newした段階でエラーが発生しますよね。
# CreateObjectやGteObject関数でも同様です。


VB初心者  2006-10-25 08:03:41  No: 133824

コメントありがとうございます。

ACCESSが必要なことがわかり、OFFICEのヴァージョンを変え
インストールし直したりしたのですが、状況は変わらずで…

ネットでは、レジストリーの登録が原因では?と書いてあったのもあるの
ですが、VBのインストールディスクを使ってインストールしたのに…
それに、初心者がレジストリーまで触るのには抵抗があって、、、困って
います。

どう設定されたのかわからないのですが、実際動いているPCもあるので
何か設定方法等あるとは思うのですが、設定した本人が覚えていないと
いうもので・・・

やはりレジストリーに何らかの変更を加えなければいけないのでしょうか?


魔界の仮面弁士  2006-10-25 12:13:49  No: 133825

現物を持っている貴殿や開発者本人が分からないのであれば、
掲示板を見ている第三者には、もっと分かりませんよね。
答えられるのは一般論に過ぎず、具体的な回答が付く事も無いかと。

> 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

せめて、当時のソースコードは残っていないのでしょうか?


魔界の仮面弁士  2006-10-25 12:25:39  No: 133826

> 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 バージョンのアプリは動きません。


VB初心者  2006-10-31 19:46:53  No: 133827

コメントありがとうございました。

頂いたコメントと、ネットを参考にDLLの追加とレジストリーへの登録で
無事に起動することができました。ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加