電子書籍の厳選無料作品が豊富!

 こんにちは.
 質問させていただきます.どうぞよろしくお願いいたします.

 VB.NETからWordのテキストボックスをいじっております.

 試しにExcelで動かしてみると,Shape.TextFrame.TextRange.Charactersで
やりたいことができるのですが,Wordの場合,
   Shape.TextFrame.TextRange. と
   Shape.TextFrame.      のどちらにも
Charactersが見つからないと言われ,悩んでおります.
エラーメッセージは「公開メンバ 'Characters' は型 'Range' に見つかりませんでした。」
「公開メンバ 'Characters' は型 'TextFrame' に見つかりませんでした。」
です.

 VB2008でWord2007をいじろうとしておりますが,もしお詳しい方が
いらっしゃいましたら,アドバイスをいただけないでしょうか...
 また,よく今回のようにメンバやプロパティを探すのに四苦八苦する
ことがあるのですが,こんな風に調べるといいよ,みたいなのが
もしもございましたら,皆様のお知恵を拝借いたしたくお願いいたします.

 どうぞよろしくお願いいたします.

A 回答 (2件)

Word2007持ってないからどうとも言えないけど,


http://msdn.microsoft.com/en-us/library/bb211612 …
TextRangeプロパティはRangeオブジェクトを返し,
http://msdn.microsoft.com/en-us/library/bb239067 …
RangeオブジェクトにはFontオブジェクトを返すFontプロパティがあって
http://msdn.microsoft.com/en-us/library/bb211946 …
FontオブジェクトにはBooleanを返すSuperScriptプロパティがあるからここから行けるかな。

>メンバやプロパティを探すのに四苦八苦する
ことがあるのですが

ないんじゃない?俺もかなり勘で探して苦労している。
今後も過去との互換性の問題からこれらのインターフェースは残り続けるだろう。.NET以前からのものだろうから統一感がなくて苦労するんだよね…。
(先の質問のExcel 2007のCharactersプロパティもSystem.Collections.Generic.List<T>を返してくれればなあ…)

この回答への補足

 himajin100000 様
 No.1,No.2のご回答をいただきどうもありがとうございました!

 結局何故「公開メンバ 'Characters' は型 'Range' に見つかりませんでした。」となるのか
よくわかりませんでしたが(力不足でございますorz),
No.2でご紹介いただけたMSDNのページ左のツリーのおかげで,他のコーディングが
かなり進みました.どうもありがとうございます.
ちょうど
>メンバやプロパティを探すのに四苦八苦する~
のアドバイスをいただけた形になったようです^^

 今後閲覧してくださる方々はおそらく回答No.1が役に立つと思うので,
No.1に20ptで締め切らせていただきます.
 今回も大分力になりました.心よりお礼申し上げます.
 どうもありがとうございました.

補足日時:2009/07/06 20:05
    • good
    • 0
この回答へのお礼

 himajin100000 様
 どうもありがとうございます!
No.2の方にNo.1分もまとめてお礼を書かせていただきます.
よろしくお願いします.

お礼日時:2009/06/29 20:10

あ、勘違いしていた。

撤回する。そっか前回同様文字単位でやらないといけないのか。
でも,載っているんだけどなあ
http://msdn.microsoft.com/en-us/library/bb238893 …
    • good
    • 0
この回答へのお礼

 himajin100000 様

 どうもありがとうございます!
No.1,のお礼もまとめてこちらに書かせていただきます.

 なにより,Superscriptの事に気づいていただけて本当にありがとうございます.
驚きましたw m(_ _)m 心より感謝申し上げます.

>前回同様文字単位でやらないといけないのか
 そうなんでございますorz 
 上付き(iNum) = myRng.Characters(Start:=iNum, Length:=1).Font.Superscript
のようにしてしまいたいのでございますが...

 ご提示いただけたページはおそらく,Word文書のRangeではないかと..
テキストボックスの文字列につきましては,
Shape.TextFrame.TextRange.Textで取得できております.
 前回アドバイスいただきましたエクセルの場合,
Shape.TextFrame2.TextRange.Charactersがあるのですが,
Wordで同様にすると,TextFrame2がとれず,
 Dim myTextFrame As Object = myShape.TextFrame2
の時点で「メソッドまたは操作は実装されていません。」とエラーになってしまいます.
 Dim myTextFrame As Object = myShape.TextFrame
だと通るのですが,そこからどうやればCharactersがとれるのか
悩んでおります.......
 おそらく,↓これか
http://msdn.microsoft.com/en-us/library/bb259494 …
もしくは,他のShape~の名で始まっているオブジェクトの中のどこかに
あるのだと思うのでございますが...

 度々アドバイスをいただいておりますが,もしこの後も何かお気づきに
なることがございましたら,是非ともよろしくお願いいたします.

 お詳しい方に見ていただけて光栄でございます.
どうもありがとうございます.

お礼日時:2009/06/29 20:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!