Hirdetés

Új hozzászólás Aktív témák

  • bteebi

    veterán

    Sziasztok!

    Egy Excel file "Csereadat" munkalapján lévő cellák tartalmával (cserélendő szöveg az 1., csereszöveg a 2. oszlopban) szeretnék egy Word file-ban szavakat kicserélni. Itt van hozzá a makróm:

    Sub OpenDoc()

    Dim ablak As FileDialog
    Dim WordApp As Object
    Dim WordDoc As Object
    Dim fname As String
    Const wdReplaceAll = 2
    Dim NumRows As Integer
    Dim ChRow As Integer

    Set ablak = Application.FileDialog(msoFileDialogFilePicker)

    If ablak.Show = True Then
    fname = ablak.SelectedItems(1)
    Else: Exit Sub
    End If

    Application.ScreenUpdating = False
    Application.EnableEvents = False

    Set WordApp = CreateObject("Word.Application")
    Set WordDoc = WordApp.Documents.Open(Filename:=fname)

    NumRows = Sheets("Csereadat").UsedRange.Rows.Count
    For ChRow = 2 To NumRows
    With WordDoc.Content.Find
    .Execute FindText:=Sheets("Repeated data edited").Cells(ChRow, 1), _
    ReplaceWith:=Sheets("Repeated data edited").Cells(ChRow, 2), Replace:=wdReplaceAll
    End With
    Next ChRow

    Application.ScreenUpdating = True
    Application.EnableEvents = True

    With WordApp
    .Visible = True
    .Activate
    End With

    Set ablak = Nothing

    End Sub

    Alapvetően jól működik, egyetlen problémával. Csak a szövegtörzsben cseréli ki a szöveget, a fejlécben és a láblécben nem. Word VBA-val találtam rá megoldást (wdStoryRange), de Excellel nem tudtam megoldani. Tudnátok tanácsot adni? Előre is köszönöm! :R

    Cancel all my meetings. Someone is wrong on the Internet.

Új hozzászólás Aktív témák