|
教えていただいたマクロを実行してみたのですが。。。
全てのレイアウト枠を検索しているようなのですが、
1回のマクロ実行で、文書の最後まで検索が走って
しまうのですね。
1回のマクロ実行で、現在のカーソル位置の
次にあるレイアウト枠1つだけを検索できない
でしょうか?
レイアウト枠を検索して、枠内にあるテキストボックス内の
文字列をレイアウト枠外にコピーペーストしたいのです。
コピーペーストするマクロまで、できれば良いのですが、
数十ページの文書のどこにレイアウト枠があるのかを
探すだけでも大変なので、とりあえずレイアウト枠だけでも
検索できればよいと思っています。
通常は、検索のオプションでレイアウト枠(文字列の
折り返し:しない)を選択して、検索しているのですが
マクロの記録でこの作業をしても、上手く動きません
でした。。。
よろしくお願いします。
▼名乗るほどのものでは さん:
>返信が遅くなり申し訳ありません。
>下記のマクロでは、レイアウト枠は検索できなかったのですが。。。
>うーん、Text=""で、検索かけてるだけなので、
>ちょっと、意味合いがわかりません。
>検索というと違うかもしれませんが、
>
>Sub test()
>
>Dim setObject As Object
>
>For Each myFrame In ActiveDocument.Frames
> myFrame.Select
> Set setObject = Selection
>Next myFrame
>
>End Sub
>
>で、一個ずつ選択していくことはできます。
>
>前に質問頂いていた件ですが、
>レイアウト枠を一回テキストボックスに変換してやったら
>いける気がするのですが、レイアウトも壊れる気も。
>
>▼timtamlover さん:
>>度々すいません。
>>以下のマクロで、カーソルがある場所以降、最初のレイアウト枠を検索できるようになりました。
>>「3・5・7ページにレイアウト枠のある文書の場合、1〜2ページにカーソルがあれば3ページのレイアウト枠を、4ページにカーソルがあれば5ページのレイアウト枠を検索できます。」
>>
>>ですが、カーソルがレイアウト枠内にある場合、期待通りの動作になりません。
>>つまり、上記の期待通りの動作をさせるには、常に文書(テキスト)上にカーソルを置いておく必要があります。
>>
>>カーソルの位置に関係なく、レイアウト枠を検索できないでしょうか。
>>よろしくお願いします。
>>
>>
>>Sub Macro1()
>>Selection.Find.ClearFormatting
>>With Selection.Find
>> .Text = ""
>> .Frame.TextWrap = False
>> .Execute Forward:=True
>>End With
>>Selection.Find.Execute
>>End Sub
|
|