ব্যাকস্টোরি: আমি কোনও ওয়েবসাইট থেকে অনুসন্ধানের ফলাফলগুলি অনুলিপি করে পেষ্ট করছি। আটকানো পাঠ্যটি নীচের চিত্রটির মতো কিছু দেখাচ্ছে:
লক্ষ্য: আমি অনুসন্ধানের ফলাফলগুলির প্রতিটি সেট থেকে কেবল দুটি লাইন চাই (সবুজ বর্ণিত)। অন্য সব কিছু মুছতে হবে। (আপনার কাছে শত শত অনুসন্ধান ফলাফল থাকলে খুব ক্লান্তিকর)। আমি একটি স্ট্রিং সংজ্ঞায়িত করতে চাই যা প্রথম শব্দটি লাল রঙের সাথে শুরু হয় এবং পরবর্তী থাম্বনেইল চিত্রের সাথে শেষ হয়। আমি তখন সেটি মুছতে চাই।
সুসংবাদ: লাল রঙের প্রথম শব্দটি সর্বদা একই থাকে। আমরা এটিকে "প্রথম" বলব।
আমার সমস্যা: যেহেতু অনুসন্ধান ফলাফলের সংখ্যা সর্বদা পরিবর্তিত হয়, কেবলমাত্র কোনও চিত্রের সাথে শেষ হওয়া সীমাটি নির্ধারণের কথা ভাবতে পারি কেবলমাত্র নথির শেষ থেকে শুরু করে কাজ শুরু করা work আমি শেষ ছবি দিয়ে শুরু করতে চাই
ActiveDocument.InlineShapes(ActiveDocument.InlineShapes.Count)
তারপরে "প্রথম" পাঠ্যের জন্য এই ছবিটি থেকে পিছনে সন্ধান করুন। আমি একবার এই শব্দের প্রথম উপস্থিতিটি খুঁজে পেয়েছি, আমি শেষ ছবি এবং সেই শব্দটি ব্যবহার করে একটি সীমা তৈরি করতে চাই যাতে আমি এটি মুছতে পারি। আমি কীভাবে এটি করতে পারি তা বুঝতে পারি না।
এখন পর্যন্ত অগ্রগতি: আমার এখন পর্যন্ত যা আছে তা এখানে : এখন পর্যন্ত এটি "প্রথম" পাঠ্যের জন্য অনুসন্ধান করে। আমি কীভাবে এটি বিপরীত করব?
Sub Clear_Stuff()
Dim blnFound As Boolean
Dim Pic As Range
Dim First As Range
Dim rngFound As Range
Dim LastPic As InlineShape
Set LastPic = ActiveDocument.InlineShapes(ActiveDocument.InlineShapes.Count)
Application.ScreenUpdating = True
'=====================================================================================
' Selects the last picture on the document, moves the selection to the right once,
' and sets variable Pic to that selection
'-------------------------------------------------------------------------------------
LastPic.Select
Selection.MoveRight wdWord
Set Pic = Selection.Range
'======================================================================================
' searches for the text "First", moves the selection to the left once
' and sets variable First to that selection
' then it sets the range variable rngFound with Pic and First as its bounds
'--------------------------------------------------------------------------------------
Selection.Find.Execute FindText:="First", Forward:=False
blnFound = Selection.Find.Execute
If blnFound Then
Selection.MoveLeft wdWord
Set First = Selection.Range
Set rngFound = ActiveDocument.Range(First.Start, Pic.Start)
End If
'========================================================================
' Deletes the range
'------------------------------------------------------------------------
rngFound.Select
Selection.Delete
Application.ScreenUpdating = True
End Sub
আমি অবশ্যই আশা করি এটি পরিষ্কার হয়ে গেছে। আমি যে কেউ স্পষ্ট ব্যাখ্যা চাইতে পারে খুশি হবে। আমি ভিবিএতে একজন নবজাতক। যদি আমি এটি সর্বশেষ অনুসন্ধানের ফলাফলটিতে কাজ করতে পারি তবে আমি ফলাফলের পুরো সেটটির যত্ন নিতে এই ম্যাক্রোটি লুপ করব।
যে কোনও এবং সমস্ত সহায়তার জন্য আপনাকে অনেক ধন্যবাদ!