|
るりさま
アドバイスありがとうございました。
WORDのVBA Project では問題なく動きました。
ただし、以下の操作でトラブルが発生しました。
アドバイスいただければ幸いです。
ExcelのVBA ProjectからWordを操作して
(定義したWorkbook).Sheet(i)Cells(m,n).value = Selection.Information(wdActiveEndPageNumber)
あるいは
(定義したWorkbook).Sheet(i)Cells(m,n).value = Selection.InformationwdFirstCharacterLineNumber)
として、ページ数あるいは行目を
取得してセルに入れようとすると
このコードで
実行時エラー;"438"
オブジェクトは、このプロパティまたはメソッドをサポートしていません
との警告が出ます。
このコードの前では、 (定義したWorkbook)の部分は難なくスルーします。
対応策をご教授願います。
なお、
> 参照設定を「参照不可」になっているものがないかを確認してみる。
参照不可 はありません。
> 参照設定を「参照不可」になっているものがないかを確認してみる。
> 名前つき定数を使用しないで直接数値を指定する。
> wdActiveEndPageNumber → 3
> wdFirstCharacterLineNumber → 10
この場合、表記法は、
MsgBox Selection.Information(3), vbInformation, "頁"
MsgBox Selection.Information(10), vbInformation, "行"
となるのでしょうか。
お尋ねします。
▼りる さん:
>おはようございます。
>
>>適当な選択位置での頁(目)および行(目)を取得
>>しようとしましたが、下記のような問題が発生しました。
>>解決策をお願いします。
>
>Word はどのように指定しているのかがわからないので、単純に文字位置で試してみました。
>
>Sub test()
> '文字数はCharacters
> Imax = ActiveDocument.Characters.Count
> '適当な文字位置(乱数で取得)
> Randomize Int(Now)
> i = Int(Imax * Rnd + 1)
> ActiveDocument.Characters(i).Select
> 'Word-VBA,Wd2003でエラーなし
> MsgBox Selection.Information(wdActiveEndPageNumber), vbInformation, "頁"
> MsgBox Selection.Information(wdFirstCharacterLineNumber), vbInformation, "行"
>End Sub
>
>適当な文書(複数ページ有)を開いて実行してみたら大丈夫でした。
>
>>解決法があれば教えてください。
>ワードVBAで実行できないのであれば、
> 参照設定を「参照不可」になっているものがないかを確認してみる。
> 名前つき定数を使用しないで直接数値を指定する。
> wdActiveEndPageNumber → 3
> wdFirstCharacterLineNumber → 10
|
|