Traducción de código VBA
Sub?Macro1()
¿Dim?Fso?As?Objeto,?a,?i&,?j&,?n&,?brr()
Application.ScreenUpdating?=?False?'Desactivar la actualización de pantalla
Set?Fso?=?CreateObject("Scripting.FileSystemObject")'Crear un objeto FSO
p?=? ThisWorkbook.Path?&?"\2012-3-1"?'La carpeta bajo la ruta actual
sFileType?=?"*.pdf"?'El tipo es un archivo PDF
Llamar a ?GetFiles(p,?sFileType,?Fso)'Llamar al programa getfiles
ReDim?brr(1?To?m,?1?To?4)'Definir un archivo bidimensional array
[a1].CurrentRegion.Offset(1).ClearContents?'Borrar el contenido del área utilizada por a1 hacia abajo en su conjunto
Con?ActiveSheet'Continúe de la siguiente manera tabla activada
For?i ?=?1?To?m?'i bucles de 1 a m
a?=?Split(arr(i),?"\" )?'Separe la matriz arr(i) con \ Write to array a
n?=?0
For?j?=?UBound(a)?-?3? To?UBound(a)?-?1?' j recorre los últimos tres números en la matriz a
n?=?n?+?1'n se incrementa una vez
brr(i,?n)?=?a (j)'Asignar un valor a brr
Siguiente
brr(i,?4)?=?Replace(a(j) ),?".pdf",?"")? 'Delete.pdf
.Hyperlinks.Add?Anchor:=Cells(i?+?1,?4),?Dirección:=arr( i)'Establecer un hipervínculo
Siguiente
Fin?Con
[a2].Resize(m,?4)?=?brr?'Asignar el matriz brr al área extendida de a2
m?=?0
Erase?arr'Clear arr
Set?Fso?=?Nothing' Borrar fso
Application.ScreenUpdating?=?True 'Activar actualización de pantalla
End?Sub
Private?Sub?GetFiles(ByVal?sPath$,? ByVal?sFileType$,?Fso?As?Object)
¿Dim?Folder?As?Object
Dim?SubFolder?As?Object
Dim?File ?As?Object
Set?Folder?=? Fso.GetFolder(sPath)
For?Each?File?In?Folder.Files'Recorre los archivos en spath
If?File.Name?Like?sFileType?Then' Si el nombre del archivo es similar a sfiletype
m?=?m?+?1'm se agrega
ReDim?Preserve?arr(1?To?m)?'Redefinir la matriz arr y conservar los datos originales
arr(m)?=?sPath?&?"\"?&?File. Name' asigna valor a los nuevos datos del array
End?If
Next
If?Folder.SubFolders
.Count?>?0?Entonces?'Si hay subcarpetas
Para?Cada?SubCarpeta?En?Carpeta.SubCarpetas?'Recorrer todas las subcarpetas
¿Llamar a GetFiles(SubFolder)? .Path,?sFileType,?Fso)'Ejecutar algunos programas nuevamente
Siguiente
Fin?Si
Establecer?Carpeta?=?Nada
Establecer?Archivo?=?Nada
Establecer?SubCarpeta?=?Nada
Fin?Sub