Discussion:
Macro con varios documentos de Word
(demasiado antiguo para responder)
Eva
2004-12-17 16:37:16 UTC
Permalink
Hola!
Necesito abrir todos los documentos de una carpeta, todos ellos son con un
nombre similar, (3números más una letra más tres números.doc como por
ejemplo: 300f111.doc), al abrir cada uno de ellos ya he diseñado una macro
que me los actualice, pero lo que me gustaria ahora es hacer un bucle que me
repitiera esa macro para todos los documentos (porque son unos 200) pero no
sé si se puede hacer de alguna manera al ser nombres similares pero en el
fondo diferentes.....

Muchas gracias!! Saludos
Héctor Miguel
2004-12-20 04:01:29 UTC
Permalink
hola, Eva !
... abrir todos los documentos de una carpeta ... con un nombre similar ... ejemplo: 300f111.doc
... ya he diseñado una macro que me los actualice
... me gustaria ... hacer un bucle que me repitiera esa macro para todos los documentos (... son unos 200)
... no se si se puede hacer de alguna manera al ser nombres similares pero en el fondo diferentes...
por macros, podrias usar el metodo 'Execute' aplicado a un objeto 'FileSearch' [te pongo un ejemplo al final]
la parte 'fina' del trabajo seria 'detectar' SI cada archivo 'encontrado'... ES [de los que se necesita modificar]
[por lo pronto, lo que 'veo' que tendrian 'en comun' es un 'largo de nombre' de 11 caracteres [7+4 -del '.doc'-]
=> modifica la carpeta 'a buscar donde..' ->.LookIn = "C:\Mis documentos"<- [a la carpeta 'real'] ;)

si cualquier duda... ¿comentas?
saludos,
hector,
=== en un modulo de codigo 'normal' en el editor de vba de ms-word ===
Sub AbrirMisDocumentos()
Dim Siguiente As Integer, Modificados As Integer
With Application.FileSearch
.NewSearch
.LookIn = "C:\Mis documentos"
.SearchSubFolders = False
.FileType = msoFileTypeWordDocuments
If .Execute > 0 Then
For Siguiente = 1 To .FoundFiles.Count
If Len(.FoundFiles(Siguiente)) - (Len(.LookIn) + 1) = 11 Then
Documents.Open .FoundFiles(Siguiente)
' pon aqui las acciones para cada archivo despues de abrirlo [modificarlo, cerrarlo, etc.]...'
ActiveDocument.Close True
Modificados = Modificados + 1
End If
Next
If Modificados > 0 Then MsgBox "Se modificaron " & Modificados & " archivos."
Else: MsgBox "No se encontró ningún archivo de MS-Word."
End If
End With
End Sub
Eva
2004-12-20 20:15:03 UTC
Permalink
Muchas gracias!!!! Me ha ido genial!!!!
Post by Héctor Miguel
hola, Eva !
... abrir todos los documentos de una carpeta ... con un nombre similar ... ejemplo: 300f111.doc
... ya he diseñado una macro que me los actualice
... me gustaria ... hacer un bucle que me repitiera esa macro para todos los documentos (... son unos 200)
... no se si se puede hacer de alguna manera al ser nombres similares pero en el fondo diferentes...
por macros, podrias usar el metodo 'Execute' aplicado a un objeto 'FileSearch' [te pongo un ejemplo al final]
la parte 'fina' del trabajo seria 'detectar' SI cada archivo 'encontrado'... ES [de los que se necesita modificar]
[por lo pronto, lo que 'veo' que tendrian 'en comun' es un 'largo de nombre' de 11 caracteres [7+4 -del '.doc'-]
=> modifica la carpeta 'a buscar donde..' ->.LookIn = "C:\Mis documentos"<- [a la carpeta 'real'] ;)
si cualquier duda... ¿comentas?
saludos,
hector,
=== en un modulo de codigo 'normal' en el editor de vba de ms-word ===
Sub AbrirMisDocumentos()
Dim Siguiente As Integer, Modificados As Integer
With Application.FileSearch
.NewSearch
.LookIn = "C:\Mis documentos"
.SearchSubFolders = False
.FileType = msoFileTypeWordDocuments
If .Execute > 0 Then
For Siguiente = 1 To .FoundFiles.Count
If Len(.FoundFiles(Siguiente)) - (Len(.LookIn) + 1) = 11 Then
Documents.Open .FoundFiles(Siguiente)
' pon aqui las acciones para cada archivo despues de abrirlo [modificarlo, cerrarlo, etc.]...'
ActiveDocument.Close True
Modificados = Modificados + 1
End If
Next
If Modificados > 0 Then MsgBox "Se modificaron " & Modificados & " archivos."
Else: MsgBox "No se encontró ningún archivo de MS-Word."
End If
End With
End Sub
carlos
2005-04-18 18:42:01 UTC
Permalink
pues mira eva si te explicaras un poquito mejor tal vez te allude
Post by Eva
Hola!
Necesito abrir todos los documentos de una carpeta, todos ellos son con un
nombre similar, (3números más una letra más tres números.doc como por
ejemplo: 300f111.doc), al abrir cada uno de ellos ya he diseñado una macro
que me los actualice, pero lo que me gustaria ahora es hacer un bucle que me
repitiera esa macro para todos los documentos (porque son unos 200) pero no
sé si se puede hacer de alguna manera al ser nombres similares pero en el
fondo diferentes.....
Muchas gracias!! Saludos
Continúe leyendo en narkive:
Loading...