আমি একাধিক ওয়ার্ড ফাইলগুলিতে কীভাবে অনুসন্ধান এবং প্রতিস্থাপন করতে পারি?


10

আমি অনেক ওয়ার্ড (। ডক) ফাইল (প্রক্রিয়াটির স্বয়ংক্রিয়তার উদ্দেশ্যে) প্রতিস্থাপনের উপায় এবং সন্ধানের চেষ্টা করছি।

আমি এখনও অবধি যে সফ্টওয়্যারটি পেয়েছি তা কেবল আমাকে অনুসন্ধান করতে দেয় তবে প্রতিস্থাপন করে না।

আমি কীভাবে ওয়ার্ড দিয়ে এটি করতে পারি?

উত্তর:


7

আপনি ভিবিএ অনুসন্ধান এবং প্রতিস্থাপন (ক্যাশেড লিঙ্ক) চেষ্টা করতে পারেন ।

ভিবিএ ফাইন্ড এন্ড রিপ্লেস © একক ব্যবহারকারীর "ফাইন্ড" এবং "রিপ্লেজ" ভেরিয়েবল জোড়া, বা "ফাইন্ড" এবং "রিপ্লেসমেন্ট" এর একটি সংজ্ঞায়িত তালিকা ব্যবহার করে নথিতে (বা নথি সংগ্রহের) যে কোনও জায়গায় পাঠ্য সন্ধান এবং প্রতিস্থাপনের জন্য একটি পদ্ধতি সরবরাহ করে জোড়া। এটি "স্বয়ংক্রিয় পাঠ্য" বা "বিল্ডিং ব্লক" এন্ট্রি সংজ্ঞায়িত কোনও ব্যবহারকারীর সাথে পাওয়া পাঠ্যকে প্রতিস্থাপন এবং প্রতিস্থাপনের জন্য একটি পদ্ধতিও সরবরাহ করে।


এটি দেখতে আমি যেমন চেয়েছিলাম ঠিক তেমন দেখাচ্ছে - আপনি রক!
তাল গ্যালি

এই প্লাগইনটি কোন ফাইল অনুসন্ধান করে? আরম্ভের ডিরেক্টরিটি নির্দিষ্ট করার কোনও সম্ভাবনা আমি খুঁজে পাচ্ছি না। এটি কি কেবল সমস্ত খোলা ফাইল ব্যবহার করে? এবং আমি কীভাবে কেবল প্রতিস্থাপন না করে অনুসন্ধান করব?
মাইকেল এস

2
@ জেনারেলিজিয়া কি 'ব্যাচ ফোল্ডারে ফাইলগুলি প্রসেস করে' সেটিং সাহায্য করে না?
জয়

1
এই ইউআরএলটির শেষে একটি অতিরিক্ত সময়সীমা রয়েছে - আমি এটিকে সরিয়ে ফেলব তবে স্ট্যাকওভারফ্লোটি ভুলভাবে ডিজাইন করা হয়েছে এবং এটি প্রতিরোধ করে: গ্রেগম্যাক্সি.এমভিপিএস
ক্রিস অ্যাডামস

1
আপনাকে ধন্যবাদ, সত্যিই এটি প্রশংসা। (:
p._phidot_

0

প্রদত্ত রুট ফোল্ডারের অধীনে একাধিক ফোল্ডারে অবস্থিত একাধিক এমএস ওয়ার্ড ফাইলগুলিতে একাধিক সাধারণ এবং ওয়াইল্ডকার্ড-ভিত্তিক প্রতিস্থাপন সম্পাদনের উদ্দেশ্যে, আমি নিম্নলিখিত ভিবিএ ম্যাক্রো তৈরি করেছি। এটি ব্যবহার করতে, আপনার নিম্নলিখিত ভেরিয়েবলগুলির (কনস্ট্যান্ট) সামগ্রী পরিবর্তন করতে পারেন:

  • রুটপথ : মূল ফোল্ডার যার অধীনে ওয়ার্ড ডকুমেন্টস সহ ফোল্ডার রয়েছে।
  • FindTextsWild এবং RepexTextsWild : ওয়াইল্ডকার্ড ভিত্তিক অ্যারে এবং এক্সপ্রেশনগুলি প্রতিস্থাপন করুন।
  • ফাইন্ডটেক্সটস এবং রিপ্লেসটেক্সটস : সাধারণ অনুসন্ধান এবং প্রতিস্থাপনের অ্যারে।

আপনি এটি দরকারী দেখতে পাবেন :-)

Sub GlobalTextReplacement()
' Root under which all manuals are stored
Dim rootPath As String
rootPath = "c:\Data\Manuals\"

' Find and replace text for wildcard replacement. Performed first.
Dim findTextsWild() As Variant, replaceTextsWild() As Variant
findTextsWild = Array("[ ]{2;}", "[cC]onfiguration[/ ]@[pP]olicy [rR]epository", "[sS]ervlet[- ]@[fF]ilter")
replaceTextsWild = Array(" ", "Configuration/Policy Repository", "Servlet-Filter")

' Find and replace text for normal case insensitive replacement. Performed second.
Dim findTexts() As Variant, replaceTexts() As Variant
findTexts = Array("DirX Access", "Policy Repository", "User Repository", "Servlet", "servletfilter", "SAML assertion", "DirX Access Server", "DirX Access Manager", "Deployment Manager", "Policy Manager", "Client SDK", "^p ", " ^p")
replaceTexts = Array("DirX Access", "Policy Repository", "User Repository", "Servlet", "Servlet-Filter", "SAML assertion", "DirX Access Server", "DirX Access Manager", "Deployment Manager", "Policy Manager", "Client SDK", "^p", "^p")

' Main code
Application.ScreenUpdating = False

Dim dirNames(20) As String
Dim dirNamesCount As Integer
dirNamesCount = 0

Dim dirName As String
dirName = Dir$(rootPath & "*", vbDirectory)
Do Until LenB(dirName) = 0
    Dim dirPath As String
    dirPath = rootPath & dirName
    If ((GetAttr(dirPath) And vbDirectory) = vbDirectory) And (dirName <> ".") And (dirName <> "..") Then
        dirNamesCount = dirNamesCount + 1
        dirNames(dirNamesCount) = dirPath & "\"
    End If
    dirName = Dir$
Loop

Do While dirNamesCount > 0
    Dim fileName As String
    dirName = dirNames(dirNamesCount)
    dirNamesCount = dirNamesCount - 1
    fileName = Dir$(dirName & "*.doc", vbDirectory)
    Do Until LenB(fileName) = 0
        Dim filePath As String
        filePath = dirName & fileName
        fileName = Dir$

        Dim document As document
        Set document = Documents.Open(filePath)
        document.TrackRevisions = True

        document.Select

        Dim i As Integer, maxIndex As Integer
        maxIndex = UBound(findTextsWild)
        For i = LBound(findTextsWild) To maxIndex
            With Selection.Find
                .ClearFormatting
                .Replacement.ClearFormatting
                .Text = findTextsWild(i)
                .Replacement.Text = replaceTextsWild(i)
                .Execute Replace:=wdReplaceAll, Forward:=True, _
                    Wrap:=wdFindContinue, MatchWildcards:=True
            End With
        Next

        maxIndex = UBound(findTexts)
        For i = LBound(findTexts) To maxIndex
            With Selection.Find
                .ClearFormatting
                .Replacement.ClearFormatting
                .Text = findTexts(i)
                .Replacement.Text = replaceTexts(i)
                .Execute Replace:=wdReplaceAll, Forward:=True, _
                    Wrap:=wdFindContinue, MatchCase:=False, MatchWildcards:=False
            End With
        Next

        document.Save
        document.Close
    Loop
Loop

Application.ScreenUpdating = True
End Sub

-1

এটি কি মাইক্রোসফ্ট ওয়ার্ডে করা যায় না?

এটি আপনার সম্পাদনা মেনুতে (ওয়ার্ড 2003) বা হোম ট্যাব / সম্পাদনা বিভাগ (ওয়ার্ড 2007)

http://office.microsoft.com/en-us/word/HA012303921033.aspx


সমাধিক্ষেত্র 89 এর পোস্টে আপনার মন্তব্যটি দেখেছেন। 2003 শব্দের জন্য, আপনি এই নির্দেশাবলী অনুসরণ করতে পারেন: Office.microsoft.com/en-us/word/HP051894331033.aspx

1
উভয় লিঙ্কই এখন মারা গেছে
বোরিস কলেনস

-1

যদি আপনি মাইক্রোসফ্ট ওয়ার্ডের মালিক না হন এবং একটি নিখরচায় বিকল্পের সন্ধান করছেন যা আপনাকে সহায়তা করবে, ওপেনঅফিস.আরোগ্রাফি চেষ্টা করুন ।

আমি মনে করি না আপনি যদি এই প্রক্রিয়াটি স্বয়ংক্রিয় করার কোনও উপায় অনুসন্ধান করেন তবে এটি আপনাকে সহায়তা করবে।


-1

নোটপ্যাড ++ "ফাইলগুলিতে অনুসন্ধান করুন" ব্যবহার করে এটি করতে সক্ষম


কীবোর্ড শর্টকাট Ctrl + Shift + F
Yizzchak

2
নোটপ্যাড ++ মাইক্রোসফ্ট ওয়ার্ড নথি খুলতে পারে?
ড্যানিয়েল বেক

1
স্ট্রিং ম্যাচ এবং প্রতিস্থাপনের স্ট্রিং যদি বিশেষ অক্ষর না হয় তবে ওয়ার্ড 2007+ ডকুমেন্টগুলি প্রকৃতির দ্বারা এক্সএমএল ফাইল This তবে আমি বলেছিলাম এটা হতে পারে। আপনি উত্তর হিসাবে পোস্ট করার আগে এটি পরীক্ষা করার যত্ন নিয়েছে?
তুমচাদিত্য

-2
Option Explicit

Public Sub BatchReplaceAll()
    Dim FirstLoop As Boolean
    Dim myFile As String
    Dim PathToUse As String
    Dim myDoc As Document
    Dim Response As Long

    PathToUse = ActiveDocument.Path
    On Error Resume Next
    Documents.Close SaveChanges:=wdPromptToSaveChanges
    FirstLoop = True
    myFile = Dir$(PathToUse & "\*.doc*")

    While myFile <> ""
        Set myDoc = Documents.Open(PathToUse & "\" & myFile)
        If FirstLoop Then
            Application.Dialogs(wdDialogEditReplace).Show
            FirstLoop = False

            Response = MsgBox("Do you want to process the rest of the files in this folder", vbYesNo)
            If Response = vbNo Then Exit Sub
        Else
            With Dialogs(wdDialogEditReplace)
                .ReplaceAll = 1
                .Execute
            End With
        End If
        myDoc.Close SaveChanges:=wdSaveChanges
        myFile = Dir$()
    Wend
End Sub

3
কোডের এই ব্লকটি কী, এটি কী করে এবং কীভাবে এটি এই সমস্যা সমাধানে সহায়তা করতে পারে?
মূসা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.