ブラウザ(IE)上に表示したユーザドキュメントから ActiveX DLL に持たせているフォームを表示させ(frmXX.show)、そのフォーム上のイベント(例えば、ボタンクリックやスライダの移動等)によって、ユーザドキュメント上のプロパティを変更する様な処理を作りたいのですが、コンパイル時に(そのフォームに記述した)ユーザドキュメント上のプロパティを認識せず、エラー(「変数が定義されていません」)になってしまいます。(プロパティを設定する部分をコメントアウトし、単にフォームを表示する事は出来ました)
・ユーザドキュメントのプロパティ例
aXXXX.Scale
・ユーザドキュメントから呼び出すフォームの記述例
Private sub cmd_click
(省略)
UserDocument.aXXXX.Scale = 3
End Sub
上記記述例の「UserDocument.〜」の部分をユーザドキュメントの名称に変更しても同じ結果になってしまいました。
フォーム上からユーザドキュメントのプロパティは、設定出来ないのでしょうか?
上手く説明する事が出来ませんでしたが、御存知の方が居ればアドバイスを御願い致します。(別な方法でユーザドキュメントのプロパティを変更する事が出来るのであえば、それでも構いません)
ちょっと複雑なんですが。
条件
UserDocument1とForm1があると過程
UserDocument1とForm1にはそれぞれCommandボタンがひとつずつある
1.Moduleをつくりそのなかに
public gUDoc1 as UserDocument1
2.UserDocument1に次のコードを追加
Private Sub UserDocument_Initialize()
Set gUDoc1 = Me
End Sub
Public Property Let TestCaption(GetCap as string)
command1.caption=GetCap
end Property
3.Form1に次のコード
private sub Command1_Click()
gUDoc1.TestCaption="Test"
end sub
こういった感じでやればできました。
もっといい手があるかもしれません。
ちなみにためしたのはWinXP IE6の環境です
ちなみにgUDoc1.Command1.Caption=
ってのはできません
Loreleyさん、回答ありがとうございます。
急いで教えて頂いた内容を試してみます。
確認取れ次第、再度書込みします。
自分の方でも、以下の手順で行ってみましたが、なぜか
うまく出来ませんでした。
(1)標準モジュールに以下のコードを追加
Public gUserDoc as UserDocument
(2)ユーザドキュメントに以下のコードを追加
Private Sub UserDocument_Initialize()
:
Set gUserDoc = Me
:
End Property
その他の指定は、Loreley さんの内容を参考にしてコード
を追加しました。
現象としては、IEでユーザドキュメントを表示させる際
、「ファイルのダウンロード」というダイアログが表示さ
れ、ユーザドキュメントを開くか保存する様に催促されま
した。(開いても、保存しても表示はされませんでした)
上記(2)の記述をコメントにした際は、表示自体はうま
く出来たので、私の方の何かしらの記述が悪い様です。
ちなみに私の環境は、Win2k Pro + IE6 + VB6 SP です。
もう少し自分で調べてみます。取りあえず、状況のみ報告
させて頂きました。
参考になるかわかりませんが、
私がテストしたときは、.vbdファイルをIEにドラッグアンドドロップしました
また.dobファイルをドラッグアンドドロップすると
「ファイルのダウンロード」ダイアログがでます。
それと、今気がつきましたがコードの
Public gUserDoc as UserDocument
は
UserDocument1やUserDocument2など、
個別のユーザードキュメントの名称を設定してください。
のっぽさんの例での
aXXXXでしょうか。
Public gUserDoc as aXXXX
となります。
これは私のコードが見づらかったですね(^^;
すいません。
Loreleyさん! 有り難うございました! 上記の通りコードを修正
した所、フォーム側でもユーザドキュメントのプロパティが読める様
になりました。
正直言ってVBは得意な方ではなく、今回の事に3〜4日も掛かって
しまいましたが、何とか1歩前進出来ました(T_T)
感謝致します。有り難うございました。
嬉しさのあまり、解決時のチェックを入れ忘れて
しまいました( ^_^;)
ツイート | ![]() |