-
Cómo copiar carpetas usando VBA
-
Visual Basic para Aplicaciones, o VBA, es un lenguaje de programación integrado en la mayoría de las aplicaciones de Microsoft Office. Con él, se pueden crear macros y funciones para automatizar diversas tareas. VBA viene con una amplia gama de objetos y funciones que pueden ayudarle a trabajar con sus documentos más rápido y más eficientemente. Con su clase FileSystemObject, también se puede manipular archivos y carpetas en cualquier lugar de su ordenador desde cualquier aplicación de Office. Mediante la creación de una sola macro VBA y asignar un comando de teclado a ella, puede copiar más fácilmente, organizar y crear copias de seguridad de tus carpetas.Instrucciones
1 Iniciar cualquier aplicación de Microsoft Office, como Word o Excel. Pulse la tecla "Ctrl" y "N" para crear un nuevo documento. Para utilizar un documento existente en cambio, pulse la tecla "Ctrl" y "O", seleccione el archivo y, a continuación, haga clic en "Abrir".
2 Prensa "," Alt "y" F11 "para abrir el Editor de Visual Basic, o VBE. En el panel" Explorador de proyectos ", seleccionar el proyecto de VBA que contiene el nombre del archivo del documento.
3 Haga clic en "Insertar" y luego seleccione "Módulo". Esto se suma "Module 1" a la lista de módulos en el panel "Explorador de proyectos". Haga doble clic en "Module 1", a continuación, introduzca el código siguiente en el editor.
CopyFolders sub ()
foldernames = Array ( "C: \ Carpeta1", "C: \ Carpeta2")
dest = "C: \ destino"
Para cada s En foldernames
Call CopyF(s, dest & "\")
s próximos
End Sub
4 Reemplazar "C: \ Carpeta1" y "C: \ Carpeta2" con las carpetas que desea copiar. Para añadir otra carpeta a la lista, escriba una coma y luego insertar la ruta completa a la carpeta antes del paréntesis de cierre de la función "Matriz". Asegúrese de incluir las letras de unidad y para encerrar los caminos entre comillas.
5 Reemplazar "C: \ destino" con la ruta completa al directorio donde desea enviar copias de sus carpetas. Asegúrese de incluir la letra de unidad y encerrarlo entre comillas.
6 Haga clic en "Insertar" y luego seleccione "Módulo". Esto se suma "Module2" a la lista de módulos en el panel "Explorador de proyectos". Haga doble clic en "Module2", y luego introduzca el código siguiente en el editor.
Public Sub CopyF (ByVal sfol como secuencia, de ByVal como secuencia dFol)
c = Len (sfol) - Len (Reemplazar (sfol, "\", "", 1))
fName = Mid (sfol, InStr (1, Application.Substitute (sfol, "\",
"", c), "") + 1)
dest = dFol y fName
Set FSO = CreateObject ( "Scripting.FileSystemObject")
Si no es así fso.FolderExists (dest), entonces
fso.CopyFolder sFol, dFol
Más
uRes = MsgBox(dest & " already exists. Overwrite?", vbYesNo + vbQuestion)
Si Ures = Entonces vbYes
fso.CopyFolder sfol, dFol
Más
Ir EndScript
Terminara si
Terminara si
EndScript:
Set FSO = Nada
End Sub
7 Pulse la tecla "F12". Introduzca su nombre de archivo preferido en el cuadro "Nombre de archivo" y haga clic en el menú desplegable junto a "Guardar como tipo". Seleccione "Libro de Excel habilitado para macros" (si está utilizando Excel) o "documento de Word Macro-Enabled" (si está usando Word). Haga clic en "Guardar".
8 Pulse la tecla "Alt" y "Q" para cerrar el VBE.9 Pulse la tecla "Alt" y "F8" para abrir la ventana de "macros". Seleccione "CopyFolders" de la lista y haga clic en "Ejecutar".
Consejos y advertencias
- De forma predeterminada, las macros están deshabilitadas para aplicaciones de Microsoft Office, que pueden impedir que la creación y ejecución de cualquier rutina de VBA. Para habilitarlos, haga clic en el botón de Microsoft Office y, a continuación, pulse "I." En la sección "populares", seleccione "Mostrar ficha Programador en la cinta." Ir a "Centro de confianza" y haga clic en "Configuración del Centro de confianza." Haga clic en "Configuración de macros" y luego seleccione "Habilitar todas las macros". Haga clic en "Aceptar" para guardar los cambios y reiniciar la aplicación de Office que está utilizando.