Visual Basic 6.0のプログラムを多数担当することになったのですが、ドッキュメントはなく、ソースだけがたよりの状態です。
サードパーティ製のOCXを使っているようなのですが、ソースから、利用しているOCXやDLL、ActiveXなどの外部コンポーネントを一覧する良い方法を教えて下さい。

A 回答 (2件)

メモ帳などのテキストエディタでプロジェクトの VBPファイルを開いてみてください


ファイルの冒頭に行頭がObject= と Reference= の組が参照設定の記述です

Object=の行の ;以降にOCXなどの名称
Reference=の行の最後の #以降に 参照設定で表示される文字列
といった具合になっているようです

Reference=の行中には ファイルパスも記載されています
    • good
    • 0
この回答へのお礼

なるほど、回答いただいた方法で確認できそうです。
いくつかのプログラムをテキスト処理して一覧を作成することができました。

コンパイル言語の場合、動的なリンクができるものがありますが、VBのOCXの場合、そういった呼び出し方法はあるのでしょうか。
ObjectやReferenceに記載しないで呼び出す方法があると確認漏れが出てしまわないか少し心配です。

どうもありがとうございました。
とてもたすかりました!

お礼日時:2009/05/19 00:02

CreateObject/GetObjectなどで動的に使用する場合もあります


この場合は DLL/OCX名では無くWindowsに登録したクラス名になります
    • good
    • 0
この回答へのお礼

おかげさまで、対象のプログラムが参照しているOCX/DLLを特定することができました。
どうもありがとうございました!!

お礼日時:2009/05/23 23:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVB6(SP5)とSTARFAXのOCX

こんにちは。宮本と申します。VB6(SP5)でプログラミングをしております。
STARFAXのOCXを使用して直接FAXに送りたいのですが、
サポートがHPでしかしておらず、非常に不安なのです。
そこで、書籍等、教えて頂きたいのです。
よろしくお願い致します。

Aベストアンサー

Microsoft FaxがインストールされたマシンにFax COM(faxcom.dll)というコンポーネントが含まれているのであれば、COMで送付先の番号などを指定して送信することができるはずなのですが。たとえば、
dim fdoc as faxdoc
with fdoc
.faxnumber="XXXX"
.filename="c:\sample.txt"
.send
end with
みたいなことができるみたいです。
うちのマシンはちょっと特殊なので(SBSの共有FAXサービスを使ってます)ふつうのマシンにはこのコンポーネントがないかもしれません。

QVisual Basic6.0

Visual Basic6.0ってダウンロードできるんですか?
(体験版→×)

教えてください。
よろしくお願いします。

Aベストアンサー

VB6.0はもう市販されていないと思います。
VB.NETならば電気屋さんで購入することができます。
もし購入されるならダウンロード販売の物を買うより、パッケージ版を電気屋さんで購入することをお勧めします。

VBとかVC++は開発者にとってはお金を生むソフトですので、一般の人が手を出しにくい価格になっています。(最高バージョンで18万位です)
オフィスに標準実装されているVBAで勉強されるといいと思いますよ。

QVB6で作成したOCX(ActiveX)について

お世話になります。
下記項目に対しての知識が無くて困っております。

VB6.0で作成したOCX(ActiveX)についてですが、VC++やVB以外のプログラム言語で使用できるのでしょうか?
今回はDelphiでの使用を検討しておりますが、環境が無い為試すことができません。

ご存知の方がいたら、ご教授お願いいたします。

Aベストアンサー

DelphiはActiveXを利用するためのインターフェイスを持っています。

メニューの、「コンポーネント」→「ActiveX コントロールの取り込み」を使うと、通常のVCLコンポーネントのように使えます。
VBとはメソッドやプロパティの呼び出し方が若干違ったりするところもありますので戸惑うかもしれませんが、ほとんどの場合、取り込んだActiveXの全ての機能を利用できます。

参考URLをどうぞ

参考URL:http://www.wakhok.ac.jp/~tetsuo/delphi/text/chap_a/pb_a03.html

QVisual Basic6.0ランタイムについて。

今、卒研でタイピングソフトを作ろうと考えていて
参考にフリーソフトをダウンロードして動作環境をみてみると
「Visual Basic6.0ランタイム」
と書いてありました。

そこで質問です。
「Visual Basic6.0ランタイム」は何ですか?
「Visual Basic6.0」わかるのですが。

初心者なのでわかりやすく教えていただけませんか?
よろしくお願いします。

Aベストアンサー

タイピングソフトで使用するコントロールはいくつかあると思います。
テキストボックスやコマンドボタン。ときにはピクチャボックスなんてのも使用するかもしれません。
そしてコンパイルをしてEXEを作成します。

そのEXEの中は、テキストボックスやコマンドボタンが完全な姿で存在しているわけではありません。EXEを起動して、WINDOWSフォルダ内に存在するDLLファイルやOCXファイル(以下ライブラリ)を参照して、初めてその姿や機能を成すわけです。
なのでVB6でソフトを作成したのであれば、VB6用のライブラリ必要となります。

もしOSがWINDOWS95であれば、VB6より前に発売されたOSですから、VB6用のライブラリを標準で持ちえるはずがありません。そこでランタイムが必要になるわけです。VB6本体ではなく、VB6で使用するライブラリのみのパッケージです。


例えが悪いかも知れませんが・・・納豆を買うとします。
醤油付き:100円
醤油なし:90円
家に醤油があったら、別に醤油なしでもいいですよね。
醤油の用途は納豆だけではありません。目玉焼きにも、サンマでも使います。

納豆などのメインの食べ物をVB6で作成したEXE/醤油をライブラリ
金額をファイルの大きさ
と置き換えて考えてみましょう。

納豆などのメインの食べ物:醤油がないと食べれない
醤油:醤油だけでは意味がない
金額:無理に高い(重い)ものを求めないで、必要がないなら安い(軽い)方がいい
(誰かにいい加減な事を言うなと怒られるかな・・・)

タイピングソフトで使用するコントロールはいくつかあると思います。
テキストボックスやコマンドボタン。ときにはピクチャボックスなんてのも使用するかもしれません。
そしてコンパイルをしてEXEを作成します。

そのEXEの中は、テキストボックスやコマンドボタンが完全な姿で存在しているわけではありません。EXEを起動して、WINDOWSフォルダ内に存在するDLLファイルやOCXファイル(以下ライブラリ)を参照して、初めてその姿や機能を成すわけです。
なのでVB6でソフトを作成したのであれば、VB6用のライブ...続きを読む

QVB6のランタイム

いろんなHPで、VB6のランタイムをダウンロードして、
セットアップしたのですが、正しく動作しないのですが

全ての機能(DLL・OCX等)があるHPはないのですか?
もしなけらば作成方法を教えてください。

VB6のCDにありますか?

Aベストアンサー

VB6をセットアップしてSP5を充てれば動作すると思いますよ。
でも起動しようとしているアプリケーションに、
インストーラーは付いていなかったのでしょうか?

以下のHPにないような特別なランタイム(OCX)を使用しているのであれば、
インストーラーに付加していない開発者の怠慢ですね。

それとも製品として販売されているOCXが必要なんて事は無いですか?

参考URL:http://www.vector.co.jp/vpack/filearea/win/util/runtime/index.html

QVisual Basic6.0のXPへのインストール方法

Visual Basic6.0(professional edition)のセットアップマニュアルには
WindowsNT 98 95の方法は記載されていますが、

(1)XPへのインストールは可能でしょうか?
(2)インストールの手順を教えていただけるでしょうか。

Aベストアンサー

他のOSと同じ手順でインストールして問題なく使用できます。
違いがあるとすれば、「Microsoft JAVA Macine」(綴りは違うかもしれませんが...)をインストールしてくださいのメッセージが出るくらいですかね。

Qtxt2assとvb6ランタイム

txt2assというフリーソフトを起動するために
vb6ランタイムとDirectX9.0が必要ということで
ダウンロードしたのですが

コンポーネントtabctl32.ocxまたはその依存関係のひとつが
適切に登録されていません。ファイルが存在しないか不正です。

というエラーが出て起動できません。
vb6がちゃんと入っていないのかと思い
何度か試したのですが同じ結果になります。

Vistaを使っていますが
ソフトのヘルプ画面にはVistaでも作動可能と書いてありました。
原因がわかる方いらっしゃいましたら
よろしくお願いします。

Aベストアンサー

以下で配布されているVB6ランタイムは、tabctl32.ocxが
含まれています。
違う物をインストールしたのでしたら、こちらをどうぞ。
http://www.hmpage.jp/vb6rtest.htm

QMicrosoft Visual Basic 6.0のテキストエディッタについて

VB6のテキストエディッタで行番号を表示することはできるのでしょうか?

VB.NETだとできるみたいなのですが、VB6でのやり方がわかりません。
下記みたいにVB6でもしたいです。
参考:http://www.atmarkit.co.jp/fdotnet/dotnettips/380linenumber/linenumber.html

よろしくお願いいたします。

Aベストアンサー

エディタ画面そのものに行番号を出す方法はわかりませんが、
標準ツールバーにカーソル位置の行位置と桁位置が表示されています。

QVB6のアプリケーションの配布

VB6でアプリケーションを作成したのですが、他のマシンに配布する場合に実行形式(EXE)だけだと、DLLやOCXなどの有無やバージョンの違いで動作しないのですが、Setup.exeなどダブルクリックするだけで、インストールできるようにしたいですが、方法がわかりません。
VBのランタイムは、このSetup.exeより先にインストールしないと、Setup.exe自体でインストールが中断されるのでしょうか?

あと、.NETですがVB6のようにDLLやOCXの有無・バージョン違いなど気にせず簡単に配布できるのがメリットの一つと解釈しても良いのでしょうか?

このように配布・インストール関連で詳しい書籍などご存知でしたら教えてください。
インストーラソフトというものは言葉聞いたことがあるのですが、
.NET使うならば、あまり必要ないのでしょうか?これもお勧めのインストーラソフトがあるのでしたらご教授下さい。

Aベストアンサー

殆どのVB製フリーソフトでは別途ランタイムをインストールしてくださいで済ましているようですが。
どうしても組み込みたいということでしたら、インストーラーの作成時に組み込みましょう。殆どの人はそれで問題がおきる(低バージョンのDLLでの上書きとか)ことが予想されるため、ユーザー任せにしているわけで。
>Setup.exe自体でインストールが中断
そのインストーラー自体が特定のDLLやOCXに依存して作っているのなら先に必要となりますが、殆どのケースでは必要ないように作られるかと思います。どうやって作ったのか次第です。

.NETの場合は、これらのVB時代の反省を生かして所謂ランタイム的なものを.NetFrameWorkとしてマイクロソフトが一元管理しています。そのため.NdetFrameWorkのバージョンが1.1なり2.0を入れておいて下さいとするだけで(またそのインストールがWindowsUPDATEから可能)特に作成者側が気を回す必要はなくなりました。

VB時代も含めてのインストーラーの参考URL
http://dobon.net/vb/installer/index.html

殆どのVB製フリーソフトでは別途ランタイムをインストールしてくださいで済ましているようですが。
どうしても組み込みたいということでしたら、インストーラーの作成時に組み込みましょう。殆どの人はそれで問題がおきる(低バージョンのDLLでの上書きとか)ことが予想されるため、ユーザー任せにしているわけで。
>Setup.exe自体でインストールが中断
そのインストーラー自体が特定のDLLやOCXに依存して作っているのなら先に必要となりますが、殆どのケースでは必要ないように作られるかと思います。どうやっ...続きを読む

Qvisual basic 6.0 ⊂ Excel2003のVBA?

visual basic 6.0 ⊂ Excel2003のVBA?

visual basic 6.0 で出来ることは、Excel2003のVBAでも出来ますか?

visual basic 6.0 で出来ることと、
Excel2003のVBAで出来ることの違い(差分)について知りたいのですが、
どなたかご存知でしょうか。大雑把な回答でも結構です。
宜しくお願い致します。

Aベストアンサー

VB 6.0 は実行ファイル *.exe を作成できます。
Excel VBA は作成できません。

VB 6.0 で作成した実行ファイルは VB 6.0 のランタイムがインストールていないと実行できません。
Excel VBA で作成した Excel ファイルは Excel がインストールされていないと実行できません。

VB 6.0 は開発の手助けをするコンポーネントやコントロールが販売されています。(いました)
これらはの中には Excel VBA でも使用できるものもありますが、使用できないものの方が多いです。

VB 6.0 は COM オブジェクトを扱えます。したがって Excel をコントロールすることができます。
Excel VBA も COM オブジェクトを扱えます。

VB 6.0 はウィンドウを持つアプリケーション以外にもコンソール アプリケーションや、ユーザー コントロールが作成できます。
Excel VBA には作成できません。

VB 6.0 で作成したプログラムはコンパイルしてから配布します。
Excel VBA はコンパイル不要です。

VB 6.0 でコンパイルした配布物からソースコードを見破られることは (ほぼ) ありません。
Excel VBA はソースコード見放題ですので改変もすることができます。(パスワードを掛けてコードを保護することはできます)

VB 6.0 は実行ファイル *.exe を作成できます。
Excel VBA は作成できません。

VB 6.0 で作成した実行ファイルは VB 6.0 のランタイムがインストールていないと実行できません。
Excel VBA で作成した Excel ファイルは Excel がインストールされていないと実行できません。

VB 6.0 は開発の手助けをするコンポーネントやコントロールが販売されています。(いました)
これらはの中には Excel VBA でも使用できるものもありますが、使用できないものの方が多いです。

VB 6.0 は COM オブジェクトを扱えます。し...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング