Agregar commondialog en formulario excel

Quería preguntar si alguien sabe como puedo agregar, como herramienta adicional, el commondialog, que es de 32bits en windows 7 de 64bits.

1 Respuesta

Respuesta
1

Puedes hacerlos a través de código VBA, usando una Librería llamada Microsoft Office 14.0 Objet Library:

Ejemplo

El ejemplo siguiente muestra un cuadro de diálogo Selector de archivos mediante el objeto FileDialog, así como cada archivo seleccionado en un cuadro de mensaje.

Sub Main()
    'Declare una variable como un objeto FileDialog.
    Dim fd As FileDialog
    'Crear un objeto FileDialog como un cuadro de diálogo Selector de archivos.
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    'Declare una variable que contenga la ruta
    'de cada ítem seleccionado. A pesar de que la ruta es String,
'la variable debe ser Variant porque las rutinas For Each ... Next' sólo funcionan con Variant y objetos.
    Dim vrtSelectedItem As Variant
    'Use un boque With...End With para referenciar el objeto FileDialog.
    With fd
        'Use el método Show para mostrar el cuadro de diálogo Selector de archivos y volver la acción del usuario.
        ' El usuario pulsa el botón.
    If .Show = -1 Then
            'Paso a través de cada cadena en la colección FileDialogSelectedItems.
            For Each vrtSelectedItem In .SelectedItems
                'vrtSelectedItem es una cadena que contiene la ruta de cada elemento seleccionado.
                'Se puede utilizar cualquier archivo de funciones de E / S que desea trabajar con esta ruta.
                'Este ejemplo muestra la ruta en un cuadro de mensaje.
                MsgBox "The path is: " & vrtSelectedItem
            Next vrtSelectedItem
        'El usuario presiona Cancel.
    Else
        End If
    End With
    'Establecer la variable de objeto a la Nothing.
    Set fd = Nothing
End Sub

Gracias por tu respuesta. Que tendría que modificar para tener el dialogo de guardar (save) y de las impresoras (printers)

Disculpa por no poder responderte antes. Aquí está para Guardar:

Sub Guardar()
    Dim fd As FileDialog
    Dim strFile As String
   fd = Application.FileDialog(msoFileDialogSaveAs)
    With fd
        If .Show = -1 Then
       strFile = .SelectedItems(1)
       Set fd = Nothing
       ActiveWorkbook.SaveAs strFile
       Else
       End If
    End With
End Sub

El objeto FileDialog no se usa para imprimir, debes usar el método PrintOut

Este para impimir la hoja1:

Sub Imprimir()
Sheets("Hoja1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub

Y si lo usas solo imprime la hoja activa:

Sheets. PrintOut (método)

ActiveSheet.PrintOut

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas