• ベストアンサー

Win98でエラーになります。

VB6で作成したEXEが、Win2000では問題ないのですが、Win98だと 「ActiveXが作成できません」とエラーになってしまいます。 解決方法はあるでしょうか? コード Dim dlg_CommonDialog As Object Set dlg_CommonDialog = CreateObject("MSCOMDLG.COMMONDIALOG") よろしくお願いします。

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

  • ベストアンサー
回答No.1

Windows98端末が手元に無いため、推測ですが VBランタイムを最新にしたり再インストールしてみたらどうでしょうか?

w0a15455
質問者

お礼

VBランタイムをインストールし直してみましたが、NGでした。 ありがとうございます。

その他の回答 (4)

回答No.5

1.動くほうと動かないほうとでOCXのバージョンが違う 2.OCXのレジストリ登録がされていない。 じゃないかと思います。 2の場合、regsvr32 Comdlg32.ocx(フルパス) でレジストリを登録しなおすとOKかも

noname#185804
noname#185804
回答No.4

exeがあるフォルダにSystemフォルダからcomdlg32.dllを 貼り付けるとどうでしょうか?

noname#185804
noname#185804
回答No.3

Comdlg32.dll、Comdlg32.ocx共にw0a15455さんと 同じバージョンです。 Windows98のパソコンにVB6は入っていますか? もし入っていればフォームにComdlg32.ocxを 貼り付けてCommonDialog1.ShowOpenを実行すると 正常に動作しますか?

w0a15455
質問者

お礼

情報ありがとうございます。 VB6は、入っていません。 というか、ユーザのパソコンなので、インストール出来ません。 何か良い確認方法はないでしょうか? (考えてみます)

noname#185804
noname#185804
回答No.2

Windows98 SEで記載コードを実行しましたが正常に動作しました SystemフォルダにCOMDLG32.DLLは存在しますか?

w0a15455
質問者

お礼

SystemフォルダにCOMDLG32.DLLは存在していました。 ちなみに、バージョンはいくつになっているか教えていただけませんか? こちらは、 COMDLG32.dll 4.72.3510.2300 COMDLG32.ocx 6.01.9782 になっています。 お手数お掛けいたしますが、よろしくお願いします。

関連するQ&A

  • CreateObjectでエラー

    VB初心者です。 VB6で以下のコードのCreateObjectがエラー になってしまいます。 何が原因と考えられますか? Dim objFileSys As Object CheckFileExist = False 'ファイルの有無を確認する Set objFileSys = CreateObject("Scripting.FileSystemObject")   ↑   ここで、エラーが発生 CheckFileExist = objFileSys.FileExists(S_strFileFull) Set objFileSys = Nothing   エラーメッセージが   「オートメーションエラーです。    ライブラリが登録されてません。」   と出てしまいます。何が原因と考えられますか?   よろしくお願いします。

  • excel2010でのCreateObject

    OS:Windows7Pro Office:オフィス2010 Excel2007で作成したメール一括送信プログラムがExcel2010でエラーが発生します。 CreateObject メソッドを使用して Outlook Application オブジェクトを作成する際に 「実行時エラー'429' ActiveXコンポーネントはオブジェクトを作成できません。」 と表示されます。デバッグ画面では Dim myOLApp As Object Dim myDATA As MailItem '### OUTLOOKのオブジェクトを作成後、メールを新規作成する。 Set myOLApp = CreateObject("Outlook.Application")   Set myDATA = myOLApp.CreateItem(olMailItem) の Set myOLApp = CreateObject("Outlook.Application")  この部分でエラーになっています。 VB6.0SP6ランタイムのインストールをしましたが状況は変化しません。 Excel2007では正常に動作します。 どこを修正すればよいのでしょう? ご教授いただけると幸いです。宜しくお願いいたします。

  • ActiveX → VB を起動するとCreateObjectできない。

    初めまして。 2003Server+IIS6.0の環境でASP内のActiveXからShell関数でvbのexeを実行させる処理を作成しております。 サーバーから直接exeを実行させると正常に動くのですが、Web上からasp→ActiveX→exeを起動させるとテキストに書き込む処理はできるのですが、「CreateObject」文で「ActiveX コンポーネントはオブジェクトを作成できません」というエラーが返ります。 VB内でなぜ「CreateObject」が出来ないのかご存知の方はいますでしょうか。 宜しくお願いいたします。

  • IEではなくファイアフォックスを指定することは

    VBAでブラウザを開く場合、 IEではなくファイアフォックスを指定することは可能ですか? 既定のブラウザはIEにしています。 Sub test1() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "http://www.ocn.ne.jp/" objIE.Visible = True Set objIE = Nothing End Sub の Set objIE = CreateObject("InternetExplorer.Application") の部分を Set objIE = CreateObject("firefox.exe") に変えてみたら、 【ActiveX コンポーネントはオブジェクトを作成できません。(Error 429)】 になりました。

  • VBからAccessへの接続でエラー

    OS:Win2K SP4 SOFT:VB6 ACCESS2K Dim strDatabase As String Dim cn As Object Dim rs As Object Sub xx() Set cn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") strDatabase = "C:\出荷配送システム\mftbc.mdb" cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & strDatabase ・       ・       ・ End Sub 上記ソースの「cn.OPEN」メソッドでエラーが発生します。 エラー内容は 'OPEN'メソッドは失敗しました。'_Connection'オブジェクト データベースに接続できません。 です。 何が原因なんでしょうか?? mdbのあるPath,File名は合っています。

  • CommonDialog でエラー

    OSとExcelを再インストールしたところ、下記のところでエラーが出ました。 なぜでしょうか。解決策はあるでしょうか。 以前は、使用できておりました。 Excelのマクロは、ほとんど理解しておりません。 他人が作成したマクロになります。 OS:WindowsXp Excel:2003 よろしくお願いします。 Private Sub CommandButton3_Click() Dim strArg() As String Dim i As Integer CommonDialog1.filename = ""   ←ここでエラーがでてとまります。 CommonDialog1.ShowOpen strArg = Split(CommonDialog1.filename, "\")  ごにょごにょ演算など。 End Sub

  • CreateObjectとNewの違い

    Microsoft XML Parserを使用したいと思っています。 VBを立ち上げ、標準EXEのプロジェクトで、参照設定を Microsoft XML v2.6(なぜ2.6か不明) にして、 dim xDoc as MSXML.DOMDocument set xDoc = New MSXML.DOMDocument とコーディングすると、実行時に、 コンパイルエラー:ユーザ定義型は定義されていません*** と怒られます。 でも、 Dim xDoc As Object Set xDoc = CreateObject("MSXML.DOMDocument") とすると、実行できます。 どうして、***のようなエラーが出るのですか? 両方ともエラーが出るならつじつまが合っている気がするのですが、 そうじゃないのですか? 環境は OS:Win98SE,VB6.0(SP5),IE5.5(SP1) です。 よろしくお願いします。

  • VB6における事前バインディングの記述方法について

    VB6.0で、ActiveXコンポーネントのインスタンス生成に関連する質問をさせていただきます。 まず前提として、VB6.0では、 ExcelのようなActiveXコンポーネントをコード上で生成する場合、下記の4通りの記述が可能です。 -------------------------------------------- '(1) 参照設定は要らない Dim hoge As Object Set hoge = CreateObject("Foo.Bar") '(2) 参照設定が必要 Dim hoge As Foo.Bar Set hoge = CreateObject("Foo.Bar") '(3) 参照設定が必要 Dim hoge As Object Set hoge = New Foo.Bar '(4) 参照設定が必要 Dim hoge As Foo.Bar Set hoge = New Foo.Bar --------------------------------------------- この中で遅延バインディング(実行時バインディング)は(1)のみで、 (2)~(4)は事前バインディングです。 ここで疑問なのですが、開発者が事前バインディングでコーディングを行う場合、 (4)以外の記述(つまり、(2)と(3)の記述方法)にメリットや必要性はあるのでしょうか。 (2)はコード補完が使えなくなりますし、 (3)はレジストリ経由のせいでパフォーマンスが低下するでしょうし、 デメリットしかないように思われます。 そうであれば、これらの記述方法は推奨されないものなのでは、と思ったしだいです。 回答、よろしくお願いします。

  • vb→access コーディングエラーについて

    <環境>access2007 vbコーディングした以下のコードをaccessに移行しているのですが、宣言で"Excel.~"となっているところでコンパイルエラーとなります。 (エラー:ユーザー定義型は定義されていません。) なので、全てObject型に変えたのですが、 (1)objBook.Names.Countで件数が取れないし、 (2)For Each objName In objBook.Namesで名前も取れません。 accessで動くようにどう直せばいいのでしょうか? よろしくお願いします。 <vbコード> Dim XLAPP As Excel.Application →Objectに変更 Dim objBook As Excel.Workbook →Objectに変更 Dim objName As Excel.Name →Objectに変更 Dim objTable As Excel.Range →Objectに変更 Dim objRange As Excel.Range →Objectに変更 Dim objColumn As Excel.Range →Objectに変更 Dim objRow As Excel.Range →Objectに変更 Dim i As Integer Dim lngCountSheet As Long Set XLAPP = CreateObject("Excel.Application") Set objBook = XLAPP.Workbooks.Open(FileName) objBook.Application.DisplayAlerts = False lngCountSheet = objBook.Names.Count (1)←ここ For Each objName In objBook.Names (2)←ここ Set objTable = objName.RefersToRange With objTable For i = 1 To .Columns.Count Set objColumn = .Columns(i) objColumn.HorizontalAlignment = XlHAlign.xlHAlignLeft Set objColumn = Nothing Next i '先頭行の書式設定をします Set objRow = .Rows(1) objRow.Interior.Color = RGB(192, 192, 192) ' .Range("A2").Activate '' ActiveWindow.FreezePanes = True ' XLAPP.ActiveWindow.FreezePanes = True End With Next XLAPP.Quit

  • オープン時にエラーが出て接続できません

    はじめまして、ご存知の方ご教示ください。 当方、Oracleの勉強の為、OracleのDBを作成してみようと思いやってみました。 苦労して何とかテーブルまで作成できたつもりなのですが、VB6で OpenDatabaseの関数を使用後下記のエラーが発生してしまいます。  オラクルセッションおよびデータベースオープン時にエラーが発生しました。  エラー番号:440  エラー内容:接続できません。ORA-12154:TNS:接続された接続識別子を解決できませでした ソースは Dim A_OSE As Object Dim A_ODB As Object Set A_OSE = CreateObject("OracleInProcServer.XOrasession") Set A_ODB = A_OSE.OpenDatabase("EMP", "SCOTT/tiger", 0) です。詳しい方ご教示いただけないでしょうか? 何かDBの方でも確認する個所がありましたらご教示いただけないでしょうか? 尚、フリーのツールで接続を行うと接続できて、各データの内容も参照でします。 よろしくお願いします。 ユーザー名:SCOTT パスワード:tiger オブジェクト名:EMP バージョン OS:Win2000ProSP4 VB6 SP6 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0