C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: IE内のインラインフレームへのテキストの貼り付けについて


(過去ログ 61 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■34879 / inTopicNo.1)  IE内のインラインフレームへのテキストの貼り付けについて
  
□投稿者/ やべ (1回)-(2009/04/13(Mon) 12:26:12)

分類:[.NET 全般] 

はじめて質問をさせていただきます。
よろしくお願いします。

環境
WinXP
VB2008ExpressEditionです

ボタンを押したときに、フォーム内にあるテキストを特定のウェブページ(IE6)のインラインフレーム内のテキストエリアに貼り付けを行いたいのですが、“アクセスが拒否されました”とエラーになってしまいます。
入力ページはすでに開いている状態のため、


objShell = CreateObject("Shell.Application")
        For Each objIE In objShell.Windowsのようにしてオブジェクトにし

      If objIE.document.title() = "入力画面" Then タイトルにて、入力画面を特定しています。

         objIE.document.ifname.document.form1.iname.value = "test" この部分でエラーになってしまいます。

インラインフレームの名前はifname
インラインフレーム内のフォーム名はform1
貼り付けたいテキストエリア名はinameです。
inameのテキストエリアに今は"test"となっている文字を書き込みしたいと思っています。

調べて見たのですがフレームわけしたページへの書き方はあるのですが、インラインフレーム内への貼り付け方がわかりません。
当方初心者の者で申し訳ありませんが、教えていただければと思います。
よろしくお願い致します。

引用返信 編集キー/
■34885 / inTopicNo.2)  Re[1]: IE内のインラインフレームへのテキストの貼り付けについて
□投稿者/ biac (85回)-(2009/04/13(Mon) 15:26:54)
biac さんの Web サイト
> ボタンを押したときに、フォーム内にあるテキストを特定のウェブページ(IE6)のインラインフレーム内のテキストエリアに貼り付けを行いたいのですが、“アクセスが拒否されました”とエラーになってしまいます。

iframe の中身は、別のドメインだったりしてませんか?
ドメインが異なるとセキュリティ面で問題がありますので、 ブラウザによってアクセス拒否されます。

http://social.msdn.microsoft.com/Forums/ja-JP/netfxjscript/thread/b24ef42e-6812-49d5-b5b6-7c1f463dea52
> How to access Element from page loaded inside Iframe, where My page is containing that iframe Tag...Please Help
※ サンプルコード付きです
引用返信 編集キー/
■34889 / inTopicNo.3)  Re[2]: IE内のインラインフレームへのテキストの貼り付けについて
□投稿者/ やべ (2回)-(2009/04/13(Mon) 17:16:01)
返信ありがとうございます。

> iframe の中身は、別のドメインだったりしてませんか?
ドメインが異なるとセキュリティ面で問題がありますので、 ブラウザによってアクセス拒否されます。

ドメインは同じドメインになります。
やはり、同様にアクセス拒否となってしまいます。
インラインフレームではない部分には書き込みできますのでおそらく、ブラウザの仕様なんですかね。。。

ということでやり方を変更して
Dim WshShell As Object

WshShell=CreatObject("Wscript.Shell")
WshShell,AppActivate("入力画面")

に変更し、アクティブにして貼り付けをしようと試しているのですが
当方のwebページがツールバーやメニューバーを表示しないようにして開いている為、
sendkeys.Send("%EP")
では貼り付けができません。。。
ほかに何か方法はありますでしょうか?
貼り付けたい文字はコピーしてあります。
最初と質問が変わってしまって申し訳ありません。。。





引用返信 編集キー/
■34894 / inTopicNo.4)  Re[3]: IE内のインラインフレームへのテキストの貼り付けについて
□投稿者/ biac (86回)-(2009/04/13(Mon) 18:42:38)
biac さんの Web サイト
> 当方のwebページがツールバーやメニューバーを表示しないようにして開いている為、
> sendkeys.Send("%EP")
> では貼り付けができません。。。
> ほかに何か方法はありますでしょうか?
> 貼り付けたい文字はコピーしてあります。

それが出来ない理由は、 おそらく違うでしょう。
あなたの考えが正しいなら、 ツールバーやメニューバーを表示する必要のないキーストローク
SendKeys.Send("貼り付けたい文字")
で、 貼り付けが出来ることになります。

SendKeys.Send() のメッセージを受け取るのは、 その時点でフォーカスを持っているコントールです。
iframe 内の目的のコントロールにフォーカスが当たっていますか?


# おそらく当たっていないでしょうね。
# で、 フォーカスを設定しようとするとまた access deny と言われたりして…

引用返信 編集キー/
■34899 / inTopicNo.5)  Re[4]: IE内のインラインフレームへのテキストの貼り付けについて
□投稿者/ やべ (4回)-(2009/04/13(Mon) 19:54:14)
返信ありがとうございます。
 
> SendKeys.Send() のメッセージを受け取るのは、 その時点でフォーカスを持っているコントールです。
> iframe 内の目的のコントロールにフォーカスが当たっていますか?
>  # おそらく当たっていないでしょうね。 
ここに関しては前もって入力したいテキストエリアをクリックてから、フォームをアクティブにします。
その後、この
WshShell=CreatObject("Wscript.Shell")
WshShell,AppActivate("入力画面")
の動作でwebページにフォーカスを移します。


さらに
sendkeys.Send("%EP")
によって、狙ったテキストエリアに貼り付けはいけるようになりました。
ただ、通常使っているwebページではメニューバーがないため、("%EP")だと動かなくなってしまいます。
貼り付けしたいものはクリップボードにコピーしたテキストになります。

sendkeys.Send(clipboard.gettext)
の場合文字化けしてしまいます。

sendkeys.Send("^V")
も動かないため、ほかに何か貼り付けする方法があるかお伺いしたかったのです。。
わかりにくくてすいません。





引用返信 編集キー/
■34955 / inTopicNo.6)  Re[5]: IE内のインラインフレームへのテキストの貼り付けについて
□投稿者/ やべ (5回)-(2009/04/15(Wed) 01:14:56)

sendkeys.Send("+({ins})")

で貼り付けできました!!

("^(V)")でもできました。

お騒がせいたしました。
記述の仕方が違っていましたね。
解決いたしました。


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -