MACRO Unir Ficheros WORD

Mi cuestión es acerca de como unir archivos:
Ejemplo tengo una carpeta con 100 archivos word y quiero unificarlos en 1 rápidamente. Están ordenados del 1 al 100.
Encontré este código por internet pero me los une aleatoriamentes sin orden de tamaño, modificación, ni alfabeto. El código se ejecuta como macro dentro de Word.
Gracias
Sub InsertarFichero()
Dim strFichero As String
Dim strRuta As String
Dim MiRango As Range

strRuta = "C:\Documents and Settings\........."
strFichero = Dir$(strRuta & "\*.doc")

Documents.Add
Do Until strFichero = ""
   With Selection
    .InsertFile FileName:=(strRuta & "\" & strFichero)
    .Collapse wdCollapseEnd
    .InsertBreak wdSectionBreakNextPage
    End With
     strFichero = Dir()
Loop
Set MiRango = Nothing
End Sub

1 respuesta

Respuesta
1
Que tal primeroque nada no entendí muy bien a tu pregunta, en si que deseas hacer que te ingrese los datos ordenados de distintas formas (mejor dicho) que tengas la posibilidad de elegir como deseas que se ingresen los doctos o solo quieres que por el nombre de dicho documento según dices "Están ordenados del 1 al 100" por que si es por medio del nombre lo más optimo creo yo seria
Sub InsertarFichero()
Dim strFichero As String
Dim strRuta As String
Dim MiRango As Range, Contador as Integer
strRuta = "C:\Documents and Settings\........."
contador=1
strFichero = Dir$(strRuta & "\ & contador &.doc")
Documents.Add
Do Until strFichero = ""
   With Selection
    .InsertFile FileName:=(strRuta & "\" & strFichero)
    .Collapse wdCollapseEnd
    .InsertBreak wdSectionBreakNextPage
    End With
    contador =contador+1
    strFichero = Dir()
Loop
Set MiRango = Nothing
End Sub
Buenas, gracias por responder tan rápido
En lo referente a mi pregunta lo que necesito es que me los añada en orden creciente, con lo que lo correcto sería tu aclaración utilizando un contador numérico, aunque por más que le doy vueltas no compila bien, ¿quizás el contador habría que ponerlo después como string?
¿Y en el caso de que los nombres de los ficheros sean alfanuméricos como se podrían unir ordenados?
Muchas gracias
Ya he conseguido compilarlo con el contador daba error con strFichero = Dir(), me ha funcionado pero los ficheros que tienen nombre alfanumérico no los ordena, ¿qué tipo de contador o comando se podría utilizar?
Gracias
Que tal que bueno que ya te funcionara de esa manera y pues esa solución te la di porque tu mencionaste "Están ordenados del 1 al 100." por lo que supuse que eran solo dígitos ahora desgraciadamente por el momento no cuento con el suficiente tiempo para darte la solución a tu problema, pero no te preocupes hay dos opciones una es esperar a que me desocupe y luego te escribo el código o buscarle por lo mientras tu en este momento no recuerdo bien la instrucción pero es algo parecido a if isdigit -- isnumber o aolgo así lo que hace es comparar si el texto almacenado es una variable después solo tienes que ordenarlos alfabéticamente y listo bueno al menos eso creo =b o directamente ordenarlos los números quedarían al principio y las letras al final así jalarías directamente los datos ya ordenados bueno al menos los archivos
Bueno pues muchas gracias por ahora puedo ir tirando renombrando los archivos a dígitos jejej algo es algo, en otros lenguajes se solucionaba creando un array y ordenándolo, pero en visual no se si hay algo parecido muchas gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas