EXCEL vba lee el nombre de la carpeta especificada y abre la carpeta en un bucle.
? ¿forma? ¿Contraseña
-
opción? Explícito
¿Privado? ¿Plan? ¿Como? Entero,? ¿Col? ¿Como? Entero
¿Privado? ¿Sub? CloseWindows_Click()
¿Si? Fila de inicio de texto. ¿Palabra? =?""?¿Y luego qué? ¿Fila de inicio de texto? =?0
¿Y si? ¿TextStartCol? =?""?¿Y luego qué? ¿TextStartCol? =?0
¿Y si? ¿Ruta de texto? =?""?¿Y luego qué? ¿Ruta de texto? =?" D:\ "
¿CerrarMiDiálogo? TextStartRow,? TextStartCol
¿Fin? Submarino
¿Privado? ¿Sub? GetDir_Click()
¿Y si? Fila de inicio de texto. ¿Palabra? =?""?¿Y luego qué? ¿Fila de inicio de texto? =?0
¿Y si? ¿TextStartCol? =?""?¿Y luego qué? ¿TextStartCol? =?0
¿Y si? ¿Ruta de texto? =?""?Entonces
TextPath? =?" D:\ "
¿Otro? ¿derecha(TextPath,?1)?<>? ¿"\"?Entonces
¿TextPath? =?RutaTexto? y amplificador? "\"
¿Fin? Si
doGetDir? ruta de texto,? Val(TextStartRow),? Val(columna de inicio de texto)
¿Fin? Submarino
¿Privado? ¿Sub? ShowWindows_Click()
¿Si? Fila de inicio de texto. ¿Palabra? =?""?¿Y luego qué? ¿Fila de inicio de texto? =?0
¿Y si? ¿TextStartCol? =?""?¿Y luego qué? ¿TextStartCol? =?0
¿Y si? ¿Ruta de texto? =?""?¿Y luego qué? ¿Ruta de texto? =?" D:\ "
MostrarMiDiálogo? Aplicación.hWnd,? TextStartRow,? TextStartCol
¿Fin? Submarino
Está encima de la mesa
¿Opción? ¿Claro
Oscuro? ¿Mi archivo? ¿A mi manera? Mi nombre
¿Dim? I%,? j%
¿Atenuado? RutaDir()? ¿Como? Línea
Sub? GetDir(ByVal?a mi manera?como?cadena,?guión?como?entero,?col?como?entero)
? ¿anexo? DO:\? El nombre del directorio.
¿A mi manera? =?" d:\TVU\ " '? Especifique la ruta.
¿Mi nombre? =?Directorio(miruta,vbDirectorio)'? Encuentra el primer elemento.
¿Qué hacer? ¿cuando? ¿Mi nombre? <>? ""'? Iniciar el bucle.
? Omita el directorio actual y el directorio principal.
¿Y si? ¿Mi nombre? <>? "."? Entonces qué. ¿Mi nombre? <>? "..."? ¿Entonces
? ¿Usar comparación de bits para determinar? ¿Mi nombre? Representa un directorio.
¿Y si? (GetAttr(¿Mi ruta? & amp? ¿Mi nombre)? ¿Y luego qué? ¿vbDirectory)? =?vbDirectorio? Entonces
celda(fila?+?i,?col)? =?¿A mi manera? y amplificador? ¿Mi nombre? ? Si es un directorio, se muestra su nombre.
¿Raedim? ¿ahorrar? Dirección(i)
DirPath(i)? =?¿A mi manera? y amplificador? ¿Mi nombre? y amplificador? "\"
¿Yo? =?Yo? +?1
¿Fin? Si
¿Finalizar? ¿Y si
mi nombre? =?Director? Busque el siguiente directorio.
Timbre
¿Fin? Submarino
¿Público? ¿Sub? doGetDir(ByVal?TextPath$,?ByVal?TextStartRow%,?ByVal?TextStartCol%)
j? =?1
¿Yo? =?1
¿A mi manera? =?Ruta del texto
GetDir? ¿A mi manera? TextStartRow,? TextStartCol
¿Para qué? j? =?1?¿Adónde ir? ¿I? -?1
¿ObtenerDir? DirPath(j),? TextStartRow,? TextStartCol
Entonces
¿finalizar? Submarino
¿Fin? Código-
¿Opciones? Claro
¿Público? ¿Constante? ¿OFN_ALLOWMULTISELECT? ¿Como? ¿dragón? =?& ampH200
Sr. ¿Constante? OFN_¿Crear mensaje? ¿Como? ¿dragón? =?& ampH2000
¿Público? ¿Constante? ¿OFN_ENABLEHOOK? ¿Como? ¿dragón? =?& ampH20
Sr. ¿Constante? OFN_¿Habilitar plantilla? ¿Como? ¿dragón? =?& ampH40
Sr. ¿Constante? OFN_¿Habilitar identificador de plantilla? ¿Como? ¿dragón? =?& ampH80
Sr. ¿Constante? ¿Explorador OFN? ¿Como? ¿dragón? =?& ampH80000
¿Público? ¿Constante? ¿Extensión OFN diferente? ¿Como? ¿dragón? =?& ampH400
Sr. ¿Constante? ¿Tiene que existir el archivo OFN? ¿Como? ¿dragón? =?& ampH1000
¿Público? ¿Constante? ¿OFN_hidreodonly? ¿Como? ¿dragón? =?& ampH4
Sr. ¿Constante? ¿OFN Longnas? ¿Como? ¿dragón? =?& ampH200000
¿Público? ¿Constante? ¿OFN Nochandil? ¿Como? ¿dragón? =?& ampH8
Sr. ¿Constante? OFN _¿No hay enlace de referencia? ¿Como? ¿dragón? =?& ampH100000
¿Público? ¿Constante? OFN-Noronas? ¿Como? ¿dragón? =?& ampH40000
¿Público? ¿Constante? OFN_¿Botón fuera de la red? ¿Como? ¿dragón? =?& ampH20000
¿Público? ¿Constante? OFN _¿Norridan Lillet? ¿Como? ¿dragón? =?& ampH8000 & amp? *¿Ver? Comentar
¿Público? ¿Constante? ¿Crear el archivo OFN_notes? ¿Como? ¿dragón? =?& ampH10000
¿Público? ¿Constante? OFN Novaridat? ¿Como? ¿dragón? =?& ampH100
Sr. ¿Constante? OFN_solicitud de sobrescritura? ¿Como? ¿dragón? =?& Deuterio
¿Público? ¿Constante? ¿OFN_path debe existir? ¿Como? ¿dragón? =?& ampH800
Sr. ¿Constante? OFN ¿solo lectura? ¿Como? ¿dragón? =?& ampH1
Sr. ¿Constante? ¿OFN conciencia compartida? ¿Como? ¿dragón? =?& ampH4000
¿Público? ¿Constante? ¿Cascada compartida OFN? ¿Como? ¿dragón? =?2
Sr. ¿Constante? ¿Advertencia de intercambio OFN? ¿Como? ¿dragón? =?0
Sr. ¿Constante? OFN ¿Sharon Vaughan? ¿Como? ¿dragón? =?1
Sr. ¿Constante? ¿OFN muestra ayuda? ¿Como? ¿dragón? =?& ampH10
Sr. ¿Constante? OFS_¿Nombre de ruta máximo? ¿Como? ¿dragón? =?260
Sr. ¿Constante? ¿OFS_FILE_OPEN_FLAG? =?Explorador OFN? _
¿O? ¿OFN Longnas? _
¿O? OFN_¿Crear mensaje? _
¿O? DE
N _Sin enlace de referencia
¿Público? ¿Constante? ¿Marca de guardado de archivo OFS? =?Explorador OFN? _
¿O? ¿OFN Longnas? _
¿O? OFN_solicitud de sobrescritura? _
¿O? OFN _Ocultar solo lectura
¿Público? ¿tipo? OPENFILENAME
nStructSizeAs? Long
hWndOwner? ¿Como? ¿Instancia larga
h? ¿Como? ¿Esferas largas
? ¿Línea
sCustomFilter? ¿Como? ¿Línea
nMaxCustFilterAs? ¿Long
nFilterIndex? ¿Como? ¿Archivo largo? ¿Como? Línea
nMaxFile? ¿Como? ¿Titulodearchivolargo
como? Línea
nMaxTitle? ¿Como? ¿Long
sInitialDirAs? ¿Línea
sDialogTitle? ¿Como? Línea
¿Bandera? ¿Como? Long
nFileOffsetAs? Entero
nFileExtensionAs? Entero
sDefFileExtAs? Línea
nCustData? ¿Como? Largo
fnHookAs? ¿Nombre de plantilla largo
? ¿Como? ¿Fin de línea
? Tipo
¿Hombre? ¿OFN? ¿Como? OPENFILENAME
¿Público? ¿Constante? ¿WM_CLOSE? =?& ampH10
Sr. ¿declarar? ¿Función? ¿Obtener nombre de archivo abierto? ¿Lib? ¿"comdlg32"? _
¿Alias? ¿"ObtenerOpenFileNameA"? _
(pOpenfilename?as?OPENFILENAME)? ¿Como? Largo
¿Macho? ¿declarar? ¿Función? ObtenerGuardarNombreDeArchivo? ¿Lib? ¿"comdlg32"? _
¿Alias? ¿"GetSaveFileNameA"? _
(pOpenfilename?as?OPENFILENAME)? ¿Como? Largo
¿Macho? ¿declarar? ¿Función? ¿Obtener nombre de ruta corta? ¿Lib? ¿"Núcleo 32"? _
¿Alias? ¿"GetShortPathNameA"? _
(ByVal?lpszLongPath?as?String,?_
ByVal?lpszShortPath?as?String,?_
ByVal?cchBuffer?as ?dragon )? ¿Como? Largo
¿Macho? ¿Constante? ¿WM_INITDIALOG? =?& ampH110
¿Privado? ¿Constante? ¿SW_SHOWNORMAL? =?1
Sr. ¿tipo? Rectángulo
¿A la izquierda? ¿Como? ¿Top largo
? ¿Como? Largo
¿verdad? ¿Como? Largo
¿Abajo? ¿Como? ¿Final largo
? Tipo
¿Hombre? ¿declarar? ¿Función? ¿Conseguir padre? ¿Lib? ¿"Usuario 32"? _
(ByVal?hWnd?As?Dragon)? ¿Como? Largo
¿Macho? ¿declarar? ¿Función? ¿Establecer texto de ventana? ¿Lib? ¿"Usuario 32"? _
¿Alias? ¿"EstablecerVentanaTextA"? _
(ByVal?hWnd?as?dragon,?_
ByVal?lpString?as?string)? ¿Como? Largo
¿Macho? ¿declarar? ¿Función? ¿Mover ventana? ¿Lib? ¿"Usuario 32"? _
(ByVal?hWnd?As?Dragón,?_
>¿PorVal? ¿incógnita? ¿Como? dragón,? _
¿PorVal? ¿y? ¿Como? dragón,? _
¿PorVal? ¿Ancho? ¿Como? dragón,? _
¿PorVal? ¿alto? ¿Como? dragón,? _
¿PorVal? ¿Repintar? ¿Como? dragón)? ¿Como? Largo
¿Macho? ¿declarar? ¿Función? ObtenerWindowRect? ¿Lib? ¿"Usuario 32"? _
(ByVal?hWnd?as?Dragon,?_
lpRect?as?RECT)? ¿Como? Largo
¿Macho? ¿declarar? ¿Función? ¿Enviar mensaje? ¿Lib? ¿"Usuario 32"? _
¿Alias? ¿"Enviar mensaje A"? _
(ByVal?hWnd?As?Dragon,?_
ByVal?wMsg?As?Dragon,?_
ByVal?wParam?As?Dragon ,? _
lParam? ¿Como? Largo
¿Macho? ¿declarar? ¿Función? ¿Buscar ventana? ¿Lib? ¿"Usuario 32"? _
¿Alias? ¿"BuscarVentanaA"? _
(ByVal?lpClassName?as?Dragon,?_
ByVal?lpWindowName?as?String)? ¿Como? Largo
¿Macho? ¿Función? FARPROC(ByVal?pfn?as?dragón)? ¿Como? ¿Largo
FARPROC? =?pfn
¿Fin? Función
¿Pública? ¿Función? OFNHookProc(ByVal?hWnd?As?Dragon,?_
ByVal?uMsg?As?Dragon,?_
ByVal?wParam?As?Dragon,?_
¿PorVal?lParam? ¿Como? Largo
¿Oscuro? hwndPadre? ¿Como? Largo
¿Oscuro? ¿rc? ¿Como? Rectángulo
¿Oscuro? nuevo¿Izquierda? ¿Como? Largo
¿Oscuro? nuevo¿Arriba? ¿Como? Largo
¿Oscuro? dlgAncho? ¿Como? Largo
¿Oscuro? ¿Diglet? ¿Como? Largo
¿Oscuro? scrAncho? ¿Como? Largo
¿Oscuro? scrAltura? ¿Como? ¿Larga elección? ¿caso? uMsg
¿Caso? WM_INITDIALOG
hwndParent? =?GetParent(hWnd)
¿Si? hwndPadre? <>? 0?Entonces
¿Llamar? GetWindowRect(hwndParent, rc)
dlgWidth? =?rc. ¿Está bien? -?rc. El de la izquierda
¿Digret? =?rc. ¿abajo? -?rc. Arriba
¿Llamar? MoveWindow(hwndParent, newLeft? newTop? dlgWidth,? diglet? true)
OFNHookProc? =?1
¿Fin? ¿Y si
caso? En caso contrario:
¿Finalizar? Selección
¿Finalizar? Función
¿Pública? ¿Sub? ShowFolder(hWnd?as?dragon,?mypath$)
tenue? ¿Filtros? ¿Como? Línea
¿Oscura? pos? ¿Como? Largo
¿Oscuro? ¿pulir? ¿Como? Línea
¿Oscura? ¿Nombre largo? ¿Como? Línea
¿Oscura? ¿Nombre corto? ¿Como? Línea
¿Qué usar? OFN
. nTamaño de estructura? =?Lun(OFN)
. hWndPropietario? =?hWnd
. ¿Filtro? =?Filtro
.
nÍndice de filtro? =?2
. ¿Archivo? =?Espacio$(1024)? y amplificador? vbNullChar? y amplificador? vbNullChar
. nMaxFile? =?Len(.sArchivo)
. sDefFileExt? =?"Baño"&? vbNullChar? y amplificador? vbNullChar
. ¿Título del archivo? =?vbNullChar? y amplificador? ¿Espacio$(512)? y amplificador? vbNullChar? y amplificador? vbNullChar
. nTítulo máximo? =?Len(OFN.sFileTitle)
. sInitialDir? =?¿A mi manera? y amplificador? vbNullChar? y amplificador? vbNullChar
. sTítulo del diálogo? =?¿A mi manera? y amplificador? vbNullChar? y amplificador? vbNullChar
. ¿bandera? =?OFS_FILE_OPEN_FLAG? ¿aún? _
¿OFN_ALLOWMULTISELECT? ¿aún? _
¿Explorador OFN? ¿aún? _
OFN _Habilitar gancho
.
¿Gancho? =?FARPROC(AddressOf?OFNHookProc)
¿Fin? ¿Con
GetOpenFileName? OFN
¿Fin? Submarino
¿Público? ¿Sub? CerrarCarpeta(Miruta?como?Cadena)
¿Atenuada? ¿Qué pasa? ¿Como? ¿Larga
hWnd? =?FindWindow(0, mi ruta)
¿Llamar? Enviar mensaje (hWnd, WM_CLOSE, ?0 & amp, ?ByVal? 0 & amp)
¿Fin? Submarino
¿Público? ¿Sub? ShowMyDialog(MyhWnd?as?dragon,?TextStartRow?as?integer,?TextStartCol?as?integer)
¿Dim? Plan,? Yamaguchi
¿Oscuro? ¿Estoy atenuado? ¿Qué pasa? ¿Como? ¿Larga
hWnd? =?MyhWnd
¿Yo? =?1:?Planificar? =?TextStartRow:? ¿Col? =?TextStartCol
¿Qué hacer? ¿cuando? celda(i?+?trazo,?col)? <>? ""
¿Concha? ¿"C:\Windows\explorer.exe?"? y amplificador? Celda(i?+?stroke,?col)
¿Mostrar carpeta? hWnd,? celda(i?+?stroke,?col)
hWnd? =?FindWindow(0, celda(i?+?stroke,?col))
i? =?Yo? +?1
Timbre
¿Fin? Submarino
¿Público? ¿Sub? CloseMyDialog(TextStartRow?as?integer,?TextStartCol?as?integer)
¿Dim? Plan,? Yamaguchi
¿Oscuro? Yo
¿Yo? =?1:?Planificar? =?TextStartRow:? ¿Col? =?TextStartCol
¿Qué hacer? ¿cuando? celda(i?+?trazo,?col)? <>? ""
¿Cerrar carpeta? pathToName(Cells(i?+?stroke,?col))
¿Yo? =?Yo? +?1
Timbre
¿Fin? Submarino
¿Privado? ¿Función? rutaANombre(Miruta$)? ¿Como? Línea
¿Oscura? cadena()? ¿Como? Línea
cadena? =?split(miruta,"\")
rutaAlNombre? =?str(sin consolidar(str))
¿Fin? Función