ここから本文です

webbrowserに表示されてテキストボックスに、文字列のセット。 livedoorのブロ...

nec********さん

2010/3/1620:49:16

webbrowserに表示されてテキストボックスに、文字列のセット。

livedoorのブログなのですが、本文に文字列の代入が出来なくて困っています。
タイトルは問題なく入るのですが、本文だけが試行錯誤しても出来ません。


「記事を書く」のところに代入したいので、「inputBody」で探し、文字列を入れるという形にしたのですが、どこか間違っているのでしょうか?

下の行に「inputBodyMore」や「inputBodyPrivate」があるので、上手く入ってくれないのでしょうか?

どうか教えてくださいませ。




'タイトルの代入
WebBrowser.Document.All.GetElementsByName("title")(0).InnerText = daimei

With WebBrowser

'本文の代入

Dim all As HtmlElementCollection = WebBrowser.Document.All
Dim el As HtmlElement = all.Item("inputBody")
el.InnerText = honbun ' テキストボックスに「ブログ本文」を入力


End With


タイトルは入りますが、本文部分が入りません。


---------------------
ソース

<div class="title"><input value="タイトルを入れる" name="title" class="text" id="entryTitle" type="text" /></div>

<ul id="body-tabs" class="editorAreaSwitch changeoverNav">
<li id="tabBody" class="now"><span>記事を書く</span></li>
<li id="tabBodyMore" class="switch"><span>続きを書く</span></li>
<li id="tabBodyPrivate" class="switch"><span>プライベートモードで続きを書く</span></li>
</ul>

<div class="editorArea section">


<div id="entryAuthor"><h2>投稿者</h2><p><a href="http://profile.livedoor.com/pikorina/" target="_blank"><img src="http://image.profile.livedoor.jp/icon/pikorina_60.gif" width="16" alt="" />pikorina</a></p></div>

<div id="mainEditor" class="editor ">
<div class="textArea"><div id="emoji" style="position: absolute; background-color: #fff; left: 30px; border: 1px solid #000; margin: 0; padding: 0; display: none;"></div>
<div id="kaomoji" style="background: red; position: absolute; background: #fff; left: 30px; margin: 0; display: none; text-align: center; white-space: nowrap;"></div>

<textarea id="inputBody" name="body" class="mceEditor" cols="50" rows="20" style="width:521px"></textarea>
<textarea id="inputBodyMore" name="body_more" style="display:none" class="mceEditor" cols="50" rows="20" style="width:521px"></textarea>
<textarea id="inputBodyPrivate" name="body_private" style="display:

---------------------

補足porihikoletskunさん 有り難うございます。

Dim el As HtmlElement = all.Item("Body")

上手くいきましたか?

今、私も試してみたのですが、私のやり方が悪いのか、何も入りませんでした。
「body」小文字にしてみてもダメでした。

何か環境の違いでしょうか?

タイトルは問題なく入るのですが・・・


環境:VB2005 /XP

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
651
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

por********さん

編集あり2010/3/1622:31:37

こんにちは。
ライブドアブログの、他のページをみてみました、ら、name="Body"になっていて、
Dim el As HtmlElement = all.Item("Body")<====== 修正
このようにして、出来ました。
idではなく、nameのほうが、この構文の場合、うまくいくかもしれません。 おためしあれ。
>補足より
Dim el As HtmlElement = all.Item("Body")
この次でstopして、ローカルウィンドで、変数の中身を確認してください。
もしかしたら、同じnameがいくつか存在するかもしれません。

質問した人からのコメント

2010/3/21 21:00:36

BLOGの設定で、本文の記入方法をHTML方式からテキスト方式にしたら入りました。

有り難うございました。

ベストアンサー以外の回答

1〜1件/1件中

fit********さん

2010/3/1710:30:56

タイトル部分は Inputタグ、本文はTextAreaタグですが、そこは大丈夫でしょうか?

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる