ボタンを押したらIEを立ち上げて処理をする。
もう一度ボタンを押したらはじめのIEは処理したままでもう一つIEを立ち上げる。
要はボタンを押した分だけIEを立ち上げるのをしたいのですができなくて困っています。
今は Private IE() As InternetExplorer とIEを配列にして宣言をしておいて
ボタンが押されたらカウントを増やしてIEをRedimしてIEを作成してます。
IEは複数起動するのですが、複数起動すると処理が最後に起動したIEに移ってしまい、はじめに立ち上げたIEの処理が止まってしまいます。なぜでしょうか?
またはいい方法がありますでしょうか?
>マルチですいません
意味が分かっての発言ですか???
同じサイトにマルチって無意味だと思いますが?
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200511/05110038.txt
何について謝ってるのか不明ですが、回答者の
労力を無駄にしたくない気持ちがあるなら、
少なくともマルチ先のリンクを張るのが常識です。
…とはいえ、しない方が良い事は変わりませんが。
それに回答が付かないのには理由がある場合が多く、
それが改善されない限り、マルチしても回答が
付く事はないでしょうに…意味がない書き込みです
よね?
…やってる事は掲示板荒らしと大差ないですよ。
QA版と初心者QA版、
片方だけしか見ていないという人は皆無ではないかなぁ〜。
かといって、別の掲示板に投稿したところで、
結局は、回答者と呼ばれる人は、
さまざまな過去にリンクされたURLなどを積み重ね等の資料を
元に独自にリファレンスを生成し調べるので、
安直なキーワードで多少ぐぐっって見つかるようなサイトに
マルチポストをしても結果、同じなんだけれどもね。
まるるうさんの言うとおり、
回答が付かないのは、付かないなりの理由があるのです。
>回答が付かないのは、付かないなりの理由があるのです。
答えられないだけだったりして・・・
> 答えられないだけだったりして・・・
正直ぐちゃぐちゃ書いてあって、回答つけるのがめんどくさい。
>なぜでしょうか?
さぁ?デバッグすれば少しは分かるんじゃない?
>またはいい方法がありますでしょうか?
あるんじゃない?わかんないけど。
方法なんて単一的でしかないことのほうが珍しいから?
こんな回答でも、欲しいのかしらね?
要は、かけらも自分で努力した形跡の無い質問には答えたくないのよ?
>>回答が付かないのは、付かないなりの理由があるのです。
>答えられないだけだったりして・・・
そーゆー場合も当然あるでしょうが、それも含めて結果は
同じですよね?
マルチしていい理由にはならないし、1つの掲示板で回答者が
答えられない質問であれば、どこの掲示板に書き込んでも答え
が付き難い質問であろう事が予想されます。全く同じ結果です。
今回の質問は…過去に m さんと同じハンドル名の人が同じ
IE を対象とした質問を何度かしてますが、オブジェクト参照
の変数への格納が分かってるとして…そんな質問にはならない
だろうとボクには思えたので保留にしました。…でもまぁ、
今回の質問はもう少し持てば回答が付いても不思議じゃない
内容です。…マルチして可能性は低くなってしまいましたが、
今後の対応しだいでしょう。
なんだかふんだりけったりなので
取りあえず書いときます。
Redimをすると今まで保持していた配列データ(オブジェクト)
が消えちゃいます。
Redim Preserve
だと消えないで増やせますよ。
Redimと書いてましたが実際は Redim Preserve としています。
せっかくのフォロー台無し
かわいそうに
ヤマさんが
ほかにもあるんじゃない?
OOと書いていましたが、実際はXXとしています。
というのが、情報の小出しはキツイ
>>なな
>OOと書いていましたが、実際はXXとしています。
>というのが、情報の小出しはキツイ
情報の小出しについては申し訳ございません。
ほかに書き損じていることはないと思いますのでご教授お願いします。
Private IE() As InternetExplorer
Dim x As Integer
Dim i As Integer
Private Sub Command1_Click()
ReDim Preserve IE(x)
Set IE(x) = New InternetExplorer
IE(x).Visible = True
IE(x).Navigate "http://www.google.co.jp/"
x = x + 1
End Sub
Private Sub Command2_Click()
IE(i).Navigate "http://www.yahoo.co.jp"
i = i + 1
End Sub
command1で新しくIEを作って
command2で最初の方からリンク先を変えていくサンプルです。
参考になりますでしょうか。
コードを書いてくださると助言しやすいとおもいます。
ありがとうございます。
確かにこのコードだと複数IEを起動することができます。
Command1_Click()のイベントで
↑この上に色々と処理を書く。
x = x + 1
例えば読み込み完了まで待機し、読み込みが完了したらIEのページに表示されてい
るボタンを押すなどの処理を書いた場合です。
ボタン1を押しIEが読み込み完了を待機している間に何度もボタン1を押すと
IEは複数起動しますが、はじめに起動したIEの処理が途中で終り最後に起動した
IEに処理が移ってしまいます。
>>はじめに起動したIEの処理が途中で終り最後に起動した
>>IEに処理が移ってしまいます。
複数起動した時にちゃんと最初のIEから最後のIEまで処理をしてますか?
してなきゃ当然止まりますよね?
For i=0 To x
処理
Next
とすればいいとか悪いとか
この処理の仕方は間違ってない?
掲示板の有効的な活用をお願いしたいです。
>この処理の仕方は間違ってない?
というか、またズルズルいくパターンですな。
当初の質問が解決したならスレッドは閉じるべきです。
新しい問題点はもう一度最初から調査します。
(プログラム構成を考え、ヘルプで調べ、過去ログで似たような問題を調べ…)
>確かにこのコードだと複数IEを起動することができます。
サンプルコードをそのまま使う気満々ですが、サンプルはあくまでサンプル。
特にヤマさんの示されたコードは一定の手順どおりで特定の条件下でのみ
有効なコードです。サンプルの内容を理解し自分で考えたコードに応用する
ようにして下さい。
まだつづいていたんですか。。
ソース公開すれば解決できるとは思いますよ。
>ヤマ氏
もう終わってるので放置で
日付見てください
ツイート | ![]() |