You are on page 1of 3

4/24/2014 ENI Training - Libro online

http://www.eni-training.com/client_net/mediabook.aspx?idR=71538 1/3
FileFilter Criterios de filtrado: nombre del filtro seguido de la extensin.
Por ejemplo: "PginaWeb (*.htm;*.html) ,*.htm;*.html".
FileIndex ndice del criterio de filtrado por defecto.
Title Ttulo del cuadro de dilogo.
ButtonText Etiqueta del botn Abrir (solamente para Macintosh).
Constante Cuadro de dilogo
xlDialogBorder Bordes
xlDialogFontProperties Fuente
xlDialogDisplay Opciones de visualizacin
xlDialogDefineName Definir un nombre
xlDialogFormulaGoto Ir a...
xlDialogOpenAbrir Abrir
xlDialogSaveAs Guardar como...
xlDialogSort Ordenar
Cuadros de dilogo integrados
1. El objeto Dialog
Los cuadros de dilogo integrados son objetos Dialog pertenecientes a la coleccin Dialogs del
objeto Application.
Sintaxis
Para mostrar un cuadro de dilogo, use el mtodo Show segn la siguiente
sintaxis:Application.Dialogs(xlDialog).Show
donde xlDialog es una constante Excel que indica el cuadro de dilogo que hay que
mostrar.
Ejemplos de constantes xlDialog
2. Los mtodos GetOpenFileName y GetSaveAsFileName
Los mtodos GetOpenFileName y GetSaveAsFileName del objeto Application muestran,
respectivamente, los cuadros de dilogo Abrir... y Guardar como... del men Archivo.
A diferencia de los objetos Dialogs correspondientes (constantes xlOpen y xlSaveAs), estos mtodos
no realizan ninguna accin; solamente permiten recuperar el nombre del archivo introducido o
seleccionado por el usuario.
Sintaxis del mtodo GetOpenFileName
Application.GetOpenFileName(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
Todos los argumentos son opcionales.
4/24/2014 ENI Training - Libro online
http://www.eni-training.com/client_net/mediabook.aspx?idR=71538 2/3
MultiSelect Indica si el usuario puede seleccionar varios archivos.
InitialeFile Nombre del archivo que aparece en la zona de texto Nombre. Si
se omite este argumento, Excel usa el nombre del libro activo.
Sub AbreLibros()
Dim strFiles
Dim xlFiles
Dim blnAbierto As Boolean
Dim strMensaje As String
Dim wbk As Workbook
Dim i As Integer
Dim j As Integer

Muestra el cuadro de dilogo Abrir
strFiles = Application.GetOpenFilename _
(filefilter:="Archivos Excel (*.xlsm),*.xlsm", _
Title:="Seleccione los archivos que hay que abrir", _
MultiSelect:=True)
Prueba si los archivos han sido seleccionados
If TypeName(strFiles) = "Variant()" Then
ReDim xlFiles(UBound(strFiles))
For i = 1 To UBound(strFiles)
Controla la extensin del archivo
If Right(strFiles(i), 4) = "xlsm" Then
Prueba si el archivo ya est abierto
blnAbierto = False
For Each wbk In Workbooks
If wbk.Path & "\" & wbk.Name = strFiles(i) Then
blnAbierto = True
End If
Next wbk
Guarda el nombre del archivo en una matriz
If Not blnAbierto Then
j = j + 1
xlFiles(j) = strFiles(i)
strMensaje = strMensaje & strFiles(i) & vbCr
End If
Sintaxis del mtodo GetSaveAsFileName
Application.GetSaveAsFileName(InitialeFile, FileFilter,
FilterIndex, Title, ButtonText)
Todos los argumentos son opcionales.
Los otros argumentos son los mismos que los argumentos del mtodo GetOpenFileName.
Ejemplo
Este ejemplo permite:
Mostrar el cuadro de dilogo Abrir con la posibilidad de seleccionar ms de un archivo.
Guardar en una matriz los nombres de los archivos seleccionados del tipo indicado (extensin
xlsm) y que no se encuentren ya abiertos.
Mostrar un mensaje que indica los archivos que se abrirn.
Abrir esos archivos tras pedir confirmacin.
4/24/2014 ENI Training - Libro online
http://www.eni-training.com/client_net/mediabook.aspx?idR=71538 3/3
End If
Next i

Abre todos los archivos Excel tras confirmacin
If j > 0 Then
strMensaje = "Confirme la apertura de los archivos: " _
& vbCr & strMensaje
If MsgBox(strMensaje, vbYesNo + vbQuestion) = vbYes Then
For i = 1 To j
Workbooks.Open Filename:=xlFiles(i)
Next i
End If
End If
Else
MsgBox "Ningn archivo seleccionado"
End If
End Sub

You might also like