آنجلا سندی دارد که حدود 400 جعبه متن در آن وجود دارد و هر جعبه متن حاوی متن است. او فکر می کند که آیا راهی برای حذف جعبه های متن وجود دارد اما متن را در سند باقی می گذارد.
این کار را می توان به صورت دستی با انتخاب متن در جعبه متن انجام داد (مطمئن باشید که جعبه متن را انتخاب نکنید)، فشار دادن Ctrl+C برای کپی کردن متن، کلیک کردن روی جایی که می خواهید متن برود، فشار دادن Ctrl+V و سپس حذف جعبه متن با این حال، زمانی که با آنجلا با کادرهای متنی سروکار دارید، به سرعت خسته کننده می شود.
در این حالت، بهتر است برای انجام تغییرات به یک ماکرو تکیه کنید. ماکرو می تواند به سرعت در تمام جعبه های متن اجرا شود و کار لازم را انجام دهد. نمونه زیر نمونه ای از این ماکروها است:
Sub ConvertTextboxText()
Dim shp As Shape
Dim oRngAnchor As Range
Dim sTemp As String
Dim J As Long
For J = ActiveDocument.Shapes.Count To 1 Step -1
Set shp = ActiveDocument.Shapes(J)
If shp.Type = msoTextBox Then
sTemp = shp.TextFrame.TextRange.Text
If Len(sTemp) > 1 Then
Set oRngAnchor = shp.Anchor.Paragraphs(1).Range
sTemp = Left(sTemp, Len(sTemp) - 1)
oRngAnchor.InsertBefore "[[ " & sTemp & " ]]"
End If
shp.Delete
End If
Next J
End Sub
این ماکرو فقط با جعبههای متن کار میکند و هر شکل دیگری که ممکن است حاوی متن باشد را نادیده میگیرد. از آخرین جعبه متن شروع می شود و به سمت ابتدای سند پیش می رود. پس از اتمام، تمام متنی که قبلاً در داخل کادرهای متن قرار داشت در ابتدای پاراگراف که جعبه متن حذف شده قبلاً به آن متصل شده بود درج می شود.
علاوه بر این، آن متن با [[ دو براکت ]] احاطه شده است، بنابراین شما به راحتی می توانید تشخیص دهید که متن در کجا قرار دارد. از آنجایی که جعبههای متنی گاهی اوقات میتوانند به فاصلهای دور از جایی که در سند ظاهر میشوند، متصل شوند، قطعاً میخواهید این تکههای متن دو پرانتزی را جستجو کنید و آنها را به جایی که میخواهید در نهایت قرار بگیرند منتقل کنید.
اگر به دنبال راه های دیگری برای انجام همان کار هستید، ممکن است به این صفحه وب علاقه مند شوید:
https://www.datanumen.com/blogs/2-quick-methods-extract-texts-text-boxes-word-document/