みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルVBA IEのiframe タグへ書き込み

お世話になります。
2003/XP 使用です。

VBAからIEの操作を行います。

iframe タグを掴むまでは大丈夫なのですが、
iframe タグへのデータ書き込み時にエラーがでます。

iframe タグのソースは下記のとおりです。

----

<iframe id="rte___article__body" name="rte___article__body" width="100%" height="300" src="/rte/blank.htm" border="1" marginheight="0" marginwidth="0" frameborder="1" framespacing=""></iframe>

----

下記、作成したコード

-----

Dim objIFRAME As Object
Dim I_kiji As Integer
Dim oHTMLIFrame As HTMLIFrame

Set objIFRAME = objBlogfree.document.getElementsByTagName("iframe")

For I_kiji = 0 To objIFRAME.Length - 1

Set oHTMLIFrame = objIFRAME(I_kiji)

If oHTMLIFrame.Name = "rte___article__body" Then’←ここまでは大丈夫です。

 oHTMLIFrame.document.all("txt").Value = "aaa"’←ここでエラー

End If

Next I_kiji

----

エラーは、

 実行時エラー ’91’:
 オブジェクト変数または、Withブロック変数が設定されていません。

と表示されます。

参照設定で、

 MS HTML Object Library、
 MS Internet Controls
 MS Scripting Runtime

の設定はしています。

エラーの出る部分を

 oHTMLIFrame.Value = "aaa"

にしてもダメでした。

よろしくお願いします。

投稿日時 - 2013-05-27 11:25:41

QNo.8107063

困ってます

質問者が選んだベストアンサー

#半月以上経っていますが、閉店していらっしゃらないので。。。

 「"txt"」が合っているのでしたら、
oHTMLIFrame.document.all("txt").Value = "aaa"
ではなくて
oHTMLIFrame.document.all("txt")(0).Value = "aaa"
みたいな感じでインデックスを入れるとどうでしょうか?

 あるいは、
oHTMLIFrame.document.txt.Value = "aaa"
oHTMLIFrame.document.txt(0).Value = "aaa"
oHTMLIFrame.document.all.txt.Value = "aaa"
oHTMLIFrame.document.all.txt(0).Value = "aaa"
みたいな感じで、似た様な表記をいろいろといじくってみるとツナガルことがあります。

投稿日時 - 2013-06-17 22:12:30

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

> 同ドメイン??

なるほど。

> フレームだけのページが表示される

て事はRefererで判断してるんですかね。
Navigateメソッドの引数でRefererを設定してみるとか。
「IE8でリファラーを任意のURLに設定して、ページを表示方法はありますか?」

参考URL:http://social.technet.microsoft.com/Forums/ja-JP/internetexplorerja/thread/50d64d86-4fd3-47ea-9d03-36ffb64be8f8/

投稿日時 - 2013-05-28 07:31:45

ANo.1

そのiframeが別ドメインならWebBrowserで可能かと。

参考URL:http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+201108/11080006.txt

投稿日時 - 2013-05-27 12:08:03

お礼

kumatti1さま 早速のご回答ありがとうございます。

>そのiframeが別ドメインならWebBrowserで可能かと。

開いていいるURLに、iframeタグのsrc="/rte/blank.htm"を
くっつけて表示させたら、同じ内容のページが表示されました。

ということは、同ドメイン??

イメージとしては、フレームだけのページが表示されると
思っていたのですが・・・

ご紹介いただきましたページも
ちょっと、ハードルが高そうです。

勉強させていただきます。

ありがとうございました(^^♪

投稿日時 - 2013-05-27 14:01:58

あなたにオススメの質問