- ベストアンサー
Word選択文字の行番号の取得
いつも閲覧・勉強させていただいています. よろしくお願いいたします. VBAの場合,Information(wdStartOfRangeRowNumber)でできていたのですが, VB2008でWORD文書を選択した場合,行番号って取れるのでしょうか??? 色々試しているつもりなのですがうまくいきません. もしお詳しい方がいらっしゃいましたら,どうぞよろしくお願いいたします.
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Dドライブにあるテスト.DOCを開いて表示するものです。 ⇒開いて行なうので表示される位置は1行目になってます。 Dim wdApp As New Word.Application Dim wdDoc As Word.Documents = wdApp.Documents Dim myDoc As Word.Document = wdDoc.Open("D:\テスト.doc") wdApp.Visible = True MsgBox(wdApp.Selection.Information(Word.WdInformation.wdStartOfRangeRowNumber)) myDoc.Close(False) wdApp.Quit() 触ったばかり(Wordは)なので違ったらすいません。
その他の回答 (2)
- n-jun
- ベストアンサー率33% (959/2873)
n-junです。 私のWordは2002なので、参照設定で 追加-COMの中の Microsoft Word 10.0 Object Library を追加しました。 そうすれば MsgBox(wdApp.Selection.Information( まで打ち込んだ時に次の候補として、 Word.WdInformation.wdStartOfRangeRowNumber が出てきました。 Wordは初めてでしたがExcelをチョコチョコいじってますので、 同じような設定になるだろうとテストしてみました。
お礼
n-jun様 どうもありがとうございます! Word2007でMicrosoft Word 12.0 Object Libraryを追加して 試してみたところ何故かmsgboxの説明(MsgBox(Prompt As Object,[Buttons~) しか出ませんでしたorz VB2008だからでしょうか??? 今度Word2003の環境でも試してみます. このたびは,アドバイスいただき助かりました. 本当にどうもありがとうございました!
- n-jun
- ベストアンサー率33% (959/2873)
#1です。 >あれ?「-1」になりました.. 私のは一番上から罫線がありましたので、DOCを開くとカーソルが罫線内にありました。 たぶん一番上の行が罫線の外になっているとか? 対応させるにはDOCを開いてカーソルを移動させてから、今回のコードの ”開く・閉じる”などを省いてあげないと無理かもしれません。 カーソルの移動自体は、マウスか他の手段(検索とか)に頼る形になるのではないかと。
お礼
n-jun様 できました!どうもありがとうございます!^^ n-jun様のように初めてでもこういうコードが書ける方って, 経験でいきなり出てくるんでしょうか??それとも調べてらっしゃいますか??? 私の場合(まだまだオブジェクト思考に慣れておりません故), VBAのコードを頼りに wdApp.Selection.Information.wdStartOfRangeRowNumber としてみたり, wdApp.Selection.Information(wdStartOfRangeRowNumber)としてみたりして いつもいろんなパターンを書きまくってうまくいかないことがほとんどです... たとえば今回のような MsgBox(wdApp.Selection.Information(Word.WdInformation.wdStartOfRangeRowNumber)) ってどのようにして思いつかれていらっしゃるのでしょうか??? もしよろしければ少しだけでもアドバイスいただけないでしょうか.. とんちんかんな質問でしたらどうもすみません.
お礼
どうもありがとうございます! あれ?「-1」になりました.. myDoc.Close(False) wdApp.Quit() をコメントアウトしたところ目的のファイルは開けているので大丈夫なようですが... もう少し試してみます.どうもありがとうございます.