1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| Sub Insertion_doc_doc()
'
' INSERTION_DOCUMENT_doc() Macro
' Concatène tous les fichiers word d'un dossier en un document unique
'
Dim Nomfic, Direct As String
Dim reponse
Dim FS As Object
Dim objFold As Object
Dim objFic As Object
Dim intI As Integer
Set FS = CreateObject("Scripting.FileSystemObject")
' SELECTION DU REPERTOIRE OU SE SITUENT LES FICHIERS TIF
With Dialogs(wdDialogFileFind)
.Show
' MsgBox .SearchPath
Direct = .SearchPath
End With
With Dialogs(wdDialogFileFind)
' .Show
' MsgBox .SearchPath
Direct = .SearchPath
End With
Set objFold = FS.getfolder(Direct)
If objFold.Files.Count > 0 Then
Debug.Print Direct
intI = 0
For Each objFic In objFold.Files
If Right(objFic.Name, 3) = "doc" Then
intI = intI + 1
Debug.Print intI
End If
Next objFic
If intI > 0 Then
reponse = MsgBox("Souhaitez vous intégrer les " & intI & "fichier(s) word contenus dans le dossier.", vbOKCancel)
For Each objFic In objFold.Files
If reponse = vbOK Then
If Right(objFic.Name, 3) = "doc" Then
Debug.Print "ceci est un ficher word : "; objFic.Name
Documents.Open FileName:=objFic.Name, ConfirmConversions:=False, ReadOnly _
:=False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate _
:="", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="" _
, Format:=wdOpenFormatAuto, XMLTransform:=""
Selection.WholeStory
Selection.Copy
Debug.Print ActiveWindow.Caption
Dim objWin As Window
For Each objWin In Windows
Debug.Print objWin.Caption
Next objWin
Windows(1).Activate
Selection.PasteAndFormat (wdPasteDefault)
Selection.InsertBreak Type:=wdPageBreak
Windows(2).Activate
Debug.Print ActiveWindow.Caption
ActiveWindow.Close no
End If
End If
Next objFic
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^b"
.Replacement.Text = "^m"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Else
MsgBox "Il n'y a aucun fichier word dans le répertoire selectionné."
End If
End If
End Sub |
Partager