VBで自作のActiveXコントロールを作成しました。
コンパイルして生成されたabcd.ocxを
自作のtest.htmファイル内に指定して、ActiveXコントロールから
test.htmlに記述されたJavaScriptを制御します。

開発環境の実行を行わなわずに、test.htmをIEで表示させると、
ActiveXコントロールがダウンロードされ(すでにローカルにありますが)JavaScriptを実行することはできます。

やりたいのは、開発環境から実行させて、JavaScriptを動作させたのです。
どうすればいいのでしょうか?

環境は、VB6.0(SP5),IE5.5(SP1)です。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

プロジェクトの「プロパティ」→「デバッグ」の「ブラウザで次のURLを開く」にHTMLファイルを指定して実行すればいいのではないでしょうか?


違ってたらごめんなさい。
では、そゆことで。
    • good
    • 0
この回答へのお礼

わざわざどうもありがとうございます。
上記の方法は質問前にやってましたが、ダメでした。
多分、標準EXEを作成して、ActiveXコントロールのプロジェクトをドッキングして
プロジェクトグループを作成しないと無理かなと思っています。

お礼日時:2001/08/06 14:23

このQ&Aに関連する人気のQ&A

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

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

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

Qカスタムコントロール作ってます(VB.NET)。VB.Net にVB.6のActiveX作成時にあったプロパティページ作成ができないようですが

タイトルどうりです。VBNETのカスタムコントロールでデザインモードにおけるフォームつまりプロパティページやビジュアルにプロパティボックスから設定できるようにしたいのですが、どうしたらできるでしょうか?VB6ではできたのですが、(Activexコントロール)。

よろしくお願いします。

Aベストアンサー

通常のプロパティと同じように、プロパティ ウィンドウに項目を表示して設定できるようにする必要があります。
具体的には、
1. カスタム コントロールのクラスに外部公開する Property プロシージャを作成して、内部で値を保存できるようにする。
2. そのプロパティの宣言部分で、プロパティ ウィンドウに表示するように指示する属性値を設定する。

こんな感じです。

参考URL:http://www.atmarkit.co.jp/fdotnet/winexp/winexp02/winexp02_01.html

QVB6.0で作成したActiveXコントロール

お世話になっております。

VB6.0で作成したActiveXコントロールをディストリビューションウィザード
でパッケージ(インターネット用CABファイル)にし、Win2000Server(IIS)に
設定後、クライアントPCからIEで表示しようとすると、「セキュリティ警告」
のダイアログが表示され、ダイアログで「はい」を選択しても画面が表示さ
れません。(デジタル署名は未作成)

Win2000Proで同様のテストした場合は画面の表示まで実行出来ました。
IEではサーバーを信頼済みサイトに設定しています。

ダイアログタイトルは、
「セキュリティ警告」
メッセージが、
XXXXXXX.CABをインストールして実行しますか?
発行者は次の問題のため判別できません
AUTHENTICODE署名を検出できません
です。


上記の症状が発生する原因等をご存知の方がいらっしゃいましたら、ご教授をよろしくお願いいたします。

Aベストアンサー

ところで確認したクライアントPCのOSは?

VBのランタイムが入っていないのでは?
作成したバージョン(SPも含む)のランタイムが
入っているか確認してみてください。

QActiveXコントロールの作成(VB6)

こんばんは。
今、VB6でActiveXコントロールを作成しようと思っています。
現在、標準EXEにて、プログラムが作ってあります。
動作としては、
1.スタートボタン(CmdStart)で開始
2.処理(外部の測定器によるデータ収集)
3.終了ボタン(CmdEnd)にてプログラム終了
です。

これをもとに、ActiveXコントロールを作成したいです。手元にある文献にしたがってほぼコピー&ペーストで作成しました。また、これの動作を調べるため、標準EXEのフォームを作成し、そのフォームにActiveXコントロールを貼り付けました。

ここで質問です。
Form_LoadはUserControl_Initializeに書き換えました。(これは文献に載っていました)

最後のプログラム終了がうまくいきません。
標準EXEでは
Private Sub CmdEnd_Click()
Unload Me
End Sub
と書いてプログラムを終了させていました。
ここを書き換えずにActiveXコントロールを実行させたらエラーが出ました。"Unload Me"を"End"に書き換えてみたら、サポートされていないと出ました。

CmdEndをクリックしてプログラムを終了させるにはどう書けばいいでしょうか?

よろしくお願いします。

こんばんは。
今、VB6でActiveXコントロールを作成しようと思っています。
現在、標準EXEにて、プログラムが作ってあります。
動作としては、
1.スタートボタン(CmdStart)で開始
2.処理(外部の測定器によるデータ収集)
3.終了ボタン(CmdEnd)にてプログラム終了
です。

これをもとに、ActiveXコントロールを作成したいです。手元にある文献にしたがってほぼコピー&ペーストで作成しました。また、これの動作を調べるため、標準EXEのフォームを作成し、そのフォームにActiveXコント...続きを読む

Aベストアンサー

ActiveXコントロール内で、プログラムを終了させよう、というプログラムデザインがそもそもの元凶だと思われます。
質問で書かれていた、1,2,3の処理中、2の機能を持ったActiveXコントロールを作成する。
1の処理開始、3のプログラム終了はActiveXコントロールを貼り付けられるプログラム本体で処理する方が良いと思います。

仮に2の処理終了と同時に、プログラムを終了させたいと言うことであれば、ActiveXコントロールに処理終了イベントを実装します。

'処理が終了したことを通知するイベント
Event ShoriShuryo
のような感じです。

処理が終わった際に、

'処理終了イベントを発生させてプログラム本体に通知する
RaiseEvent ShoriShuryo

としてやれば、本体プログラム中でShoriShuryoイベントが発生しますので、プログラム終了のためにUnload Meを実行します。

決してお勧めなわけではありませんが、以下のようにすると内部の終了ボタンがクリックされた事を、本体プログラム側に通知することができます。
'『終了』コマンドボタンがクリックされたことを通知するイベント
Event EndClick

Private Sub CmdEnd_Click()
  RaiseEvent EndClick
End Sub

ActiveXコントロール内で、プログラムを終了させよう、というプログラムデザインがそもそもの元凶だと思われます。
質問で書かれていた、1,2,3の処理中、2の機能を持ったActiveXコントロールを作成する。
1の処理開始、3のプログラム終了はActiveXコントロールを貼り付けられるプログラム本体で処理する方が良いと思います。

仮に2の処理終了と同時に、プログラムを終了させたいと言うことであれば、ActiveXコントロールに処理終了イベントを実装します。

'処理が終了したことを通知するイベント
Event S...続きを読む

QActiveX DLL と ActiveXコントロールの違い

VB6で開発をしています。
複数のEXEファイルを使用するシステムです。
各EXEファイルの共通のモジュールをライブラリ化しようと思っています。

これは [ActiveX DLL] 又は、[ActiveXコントロール] のどちらでも実現できると思うんですが、どちらで作成した方が良いのでしょうか?

それぞれのメリット、デミリットを教えて下さい。

Aベストアンサー

混乱させますw

私も最近まで知らなかったのですが、任意のタイミングでOCXもインスタンスの生成が可能みたいです。
WinSockを張らずにPGを書き上げ、WinSockコントロールを使用する方法がわたしの利用しているメーリングリストに出ておりました。
その結末は、「あまり公開はされてはいないけど、ほとんどのコントロールはEXEにしてからOCXとして取り込むことができる」ということです。


ActiveXDLLも参照設定をしなければ、DLLバージョンが違っても大丈夫です。
ただし宣言が
As HogeHoge←(DLLの定義)を
As Object
として、CreateObject("DLL定義")のように行うと、引数が一緒ならEXEはリコンパイルしないでもいいです。実例として、エクセルを参照設定して[as Excel]と宣言していたら、その参照設定に対応したExcelしか操作できませんが、[As Object]と[CreateObject("Excel.Application")]とすると、EXCEL95~XPまで扱えます。
不便なのは、タイプライブラリが未設定になるので、Excelの各プロパティ/メソッドを知らないといけないし、Excel固有の定数が宣言もされてないので、自分で定数値を調べなければいけません。でもバージョンの違いを気にしないでいけるのは、非常に便利です。


速さのことを言ったら、当然DLLが早いです。
OCXはプロパティにRight/Leftなどを持っています。変えて言うと実体を持っていると言うことです。非表示にしていても実体をもっています。DLLはインスタンスは生成されますが、OCXだって生成されるので、表示しないで使用するなら、OCXの意味があまりありません。


んで、私(個人)の考えとしては、、、
※オリジナルボタンなどの、画面上必要ならOCX
  理由:画面に必要だから
※画面に表示を行う必要がなくても、配布する気ならOCX
  理由:配布先のユーザが扱いやすい
※そうじゃなければDLL
  理由:OCXにする理由が見つからないから


余談です。
私はいつもCommonコントロールは使用しません。
  理由:簡単なAPIでも実現できるのに、機能が少ないCommonコントロールを追加して、EXEの容量を大きくしたくないから

混乱させますw

私も最近まで知らなかったのですが、任意のタイミングでOCXもインスタンスの生成が可能みたいです。
WinSockを張らずにPGを書き上げ、WinSockコントロールを使用する方法がわたしの利用しているメーリングリストに出ておりました。
その結末は、「あまり公開はされてはいないけど、ほとんどのコントロールはEXEにしてからOCXとして取り込むことができる」ということです。


ActiveXDLLも参照設定をしなければ、DLLバージョンが違っても大丈夫です。
ただし宣言が
As HogeHoge←(DLLの定...続きを読む

QWinXP SP2でActiveXコントロールをスムーズに表示する

下記のようなソースでコントロールを呼び出しておりましたが、XP SP2で、コントロールの読み込みが遮断されます。

<OBJECT ID="OtameshiX" width="0" height="0"
CLASSID="CLSID:12345678-1234-5678-1234-123456789012"
codebase="http://hoge.com/otameshi.cab">
</OBJECT>

どのようにしたら回避できるのでしょうか?
コードサイニングに高いお金を払えば済むのでしょうか?

Aベストアンサー

>どのようにしたら回避できるのでしょうか?
警告無しでインストールするにはセキュリティレベルを低に設したり、レベルをカスタマイズするしかありません。ただし、悪質なActiveXなども警告無しでインストールされる場合もあるので危険です。
なので、サイトが固定ならば信頼済みサイトに登録して、信頼済みサイトのセキュリティレベルを下げるかカスタマイズするようにすることをお勧めします。

>コードサイニングに高いお金を払えば済むのでしょうか?
署名の有無にかかわらず、IEの設定に依存するので無意味です。


このカテゴリの人気Q&Aランキング

おすすめ情報