View Single Post
 
Old 04-30-2016, 08:06 AM
dan88 dan88 is offline Windows 10 Office 2016
Novice
 
Join Date: Feb 2016
Posts: 24
dan88 is on a distinguished road
Default

Hello Graham,

thank you for helping.

I am afraid something went wrong

I received 220 pages, when i tested it on 2 documents


Here is the code i used - I only added the folder function

Code:
Option Explicit
Sub ParagraphReport()
Dim oSource As Document
Dim oTbl As Table
Dim oTarget As Document
Dim oPara As Paragraph
Dim oRng As Range
Dim strFolder As String
Dim strFile As String

    Application.ScreenUpdating = False
    Set oTarget = Documents.Add
    oTarget.PageSetup.Orientation = wdOrientLandscape
    Set oTbl = oTarget.Tables.Add(oTarget.Range, 1, 2)
    With oTbl.Rows(1)
        .Cells(1).Range.Text = " Text Paragraph"
        .Cells(2).Range.Text = "File Name"
    End With
    strFolder = GetFolder

    strFile = Dir(strFolder & "\*.do*", vbNormal)
    While strFile <> ""
        Set oSource = Documents.Open(FileName:=strFolder & "\" & strFile, AddToRecentFiles:=False, Visible:=False)
        For Each oPara In oSource.Paragraphs
            Set oRng = oPara.Range
            oRng.End = oRng.End - 1
            If Not oRng.Characters.First = "*" Or Not oRng.Characters.Last = "*" Then
                With oTbl
                    .Rows.Add
                    .Rows.Last.Range.Cells(1).Range.Text = oPara.Range.Text
                    .Rows.Last.Range.Cells(2).Range.Text = oSource.Name
                End With
            End If
            
        Next oPara
        oSource.Close wdDoNotSaveChanges
        DoEvents
        strFile = Dir()
    Wend
lbl_Exit:
    Set oSource = Nothing
    Set oPara = Nothing
    Set oRng = Nothing
    Set oTarget = Nothing
    Set oTbl = Nothing
    Application.ScreenUpdating = True
    Exit Sub
End Sub

Function GetFolder() As String

    'Found on a forum
    Dim oFolder As Object
    GetFolder = ""
    Set oFolder = CreateObject("Shell.Application").BrowseForFolder(0, "Choose a folder", 0)
    If (Not oFolder Is Nothing) Then GetFolder = oFolder.Items.Item.Path
    Set oFolder = Nothing
    
    
End Function
any ideas - it kept repeating the file name over and over

dan
Reply With Quote