[ daniel38 @ 11.08.2009. 00:22 ] @
da li postoji neki program ili plugin za word koji ce mi omoguciti zamenu vise reci odjednom...u fazonu da zadam listu sta sa cime zamenuti i da on to odradi...

Sve ovo mi treba zbog editovanja hrvatskih prevoda filmova na srpski....pa da ne bi radio replace svaku rec posebno onda bi mi dobro dosla neka takva alatka...
[ timmy @ 11.08.2009. 08:34 ] @
Evo malog primera kako mozes da povezes Excel i Word programirajuci u VBA - i naravno da resis svoj problem

1. Otvori samo onaj Word dokument u kome treba da zamenis reci
2. Otvori Excel fajl u kojem si uneo: u koloni A spisak reci koje trazis a u koloni B reci kojima ih menjas
3. Iskoristi sledeci kod (u Excelu)

Code:

Sub ReplaceInWord()
' Najpre u VB Editoru Tools/ References i ukljuciti
' Microsoft Word x.x Object Library
' Gde je x.x vasa verzija Worda

Dim wdApp As Word.Application, wdDoc As Word.Document
Dim curCell As Range
Dim curRow As Long

    On Error Resume Next

    '
    ' Proveri da li je Word vec startovan
    '
    Set wdApp = GetObject(, "Word.Application")
    If Err.Number <> 0 Then
        MsgBox "Moras otvoriti i Word dokument sa tekstom", vbCritical, "Word Replace - Error"
    Else

        wdApp.Visible = True
                
        ' Prodji kroz sve celije u koloni A
        ' Pocevsi od 1. reda
        curRow = 1
        Set curCell = Cells(curRow, 1)
        Do While curCell.Value <> ""

            ' Zameni reci na sledeci nacin:
            ' rec koju imas u koloni A sa recju u koloni B
            With wdApp
                .Selection.Find.ClearFormatting
                .Selection.Find.Replacement.ClearFormatting
                With .Selection.Find
                    .Text = curCell.Value
                    .Replacement.Text = curCell.Offset(0, 1).Value
                    .Forward = True
                    .Wrap = wdFindContinue
                    .Format = False
                    .MatchCase = False
                    .MatchWholeWord = True
                    .MatchWildcards = False
                    .MatchSoundsLike = False
                    .MatchAllWordForms = False
                End With
                .Selection.Find.Execute Replace:=wdReplaceAll
            End With
            
            curRow = curRow + 1
            Set curCell = Cells(curRow, 1)
        Loop
        
    End If

End Sub



Pozdrav
[ zarule @ 17.12.2009. 13:48 ] @
Pozdrav,

Timmy slucajno nabasam na ovo i obradujem se ! Ima nade da se spasim od riljanja i search & replace koji traje u nedogled.

Pitanje : imali ovako neka caka koja bi se koristila za zamenu istih polja samo u excelu, a ne u Wordu.
Recimo da imam sheet koji bi sadrzao kolonu A i kolonu B celija u koloni a one koje se menjaju u koloni B one sa kojima se menjaju. A da izmene pravim u nekom novom excel fajlu .. ??

hvala unapred ! ;)

pozzzzz
[ timmy @ 24.12.2009. 04:31 ] @
Ubaci sledeci kod u novi dokument u kome su u koloni A reci koje trazis a u koloni B reci kojima ih menjas,
zatim otvori sve one Excel fajlove u kojima treba menjati reci i startuje proceduru. Obrati paznju da ti Undo
nece biti od pomoci pa je mozda najbolje da prvo bekapujes sve te Excel fajlove.

Code:

Sub Replace()

Dim curCell As Range
Dim curRow As Long
Dim i As Integer
Dim strSearchFor As String
Dim strReplaceWith As String

    On Error Resume Next

    '
    ' Proveri da li ima jos otvorenih Excel fajlova
    '
    If Workbooks.Count = 1 Then
        MsgBox "Moras otvoriti i ostale Excel fajlove", vbCritical, "Workbooks replace - Error"
    Else

        ' Prodji kroz sve otvorene fajlove i napravi izmene
        '
        For i = 1 To Workbooks.Count
            If Workbooks(i).Name <> ThisWorkbook.Name Then

            
                ' Prodji kroz sve celije u koloni A
                ' Pocevsi od 1. reda
                '
                curRow = 1
                Set curCell = ThisWorkbook.ActiveSheet.Cells(curRow, 1)
                strSearchFor = curCell.Value
                strReplaceWith = curCell.Offset(0, 1).Value
                
                Do While strSearchFor <> ""

                    Workbooks(i).ActiveSheet.Cells.Replace What:=strSearchFor, Replacement:=strReplaceWith, _
                        LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                        ReplaceFormat:=False
                
                    curRow = curRow + 1
                    Set curCell = ThisWorkbook.ActiveSheet.Cells(curRow, 1)
                    strSearchFor = curCell.Value
                    strReplaceWith = curCell.Offset(0, 1).Value
               
                Loop
                   
            End If
        Next i     
        
    End If

End Sub


Pozdrav
[ zarule @ 08.01.2010. 23:22 ] @
veliko hvala jos jednom ! super pomoc,
nego primeito sam gresku ne tolerise razmak

recimo po mustri menja :
Bac u backu palanku
petrovac u budvu

eh sada kada naidje na rec
backi petrovac on to promeni u "backa palankaKI budva"

moze li se to nekako izbeci ?