ayuda con commonDialog
no he utilizado nunca el commonDialog y me gustaria que alguien me pusiera un pequeño ejemplo de como imprimir algo usando este control.
muchas gracias.
muchas gracias.
Private Sub imprimir_Click()
Err.Clear
On erro GoTo pp
'Se muestra el cuadro de imprimir.
CommonDialog1.ShowPrinter
'Se imprimen tantas copias como el usuario
'haya seleccionado. Se hace a través de
'un bucle para que funcione con todo
'tipo de impresoras.
Printer.Copies = CommonDialog1.Copies
Printer.Print rtbEditor.Text
Printer.NewPage
Printer.EndDoc
Exit Sub
pp:
'Aquí se controlaría el nº de error. Hay que tener en cuenta que si
'se cancela el cuadro de diálogo y la propiedad "CancelError" está
'a True el sistema genera un error, así que:
'Si Err.Number = cdlCancel entonces el cuadro se ha cancelado
MsgBox "MAL"
End Sub
Private Sub color_Click()
'Este procedimiento muestra el cuadro de diálogo
'del color, inicializado por defecto al color
'de fondo de la caja de texto, y cambia el fondo.
CommonDialog1.Flags = &H4
CommonDialog1.color = rtbEditor.BackColor
'Se muestra el cuadro del color, y se asigna
'el color seleccionado como fondo de la
'caja de texto.
CommonDialog1.ShowColor
rtbEditor.BackColor = CommonDialog1.color
End Sub
Private Sub ffuente_Click()
'Este procedimiento muestra el cuadro de
'diálogo las fuentes.
'Se inicializa el cuadro a la fuente, con todas
'sus características, de la caja de texto.
'Se establecen como flags iniciales todas
'las fuentes y los efectos.
CommonDialog1.Flags = &H3 + &H100
'Si al seleccionar texto es de distinto tipo,
'hay parte en negrita y parte no ..., el valor de la
'propiedad es Null, y provoca un error al intentar
'acceder a él, así que se verifica antes.
If Not IsNull(rtbEditor.SelFontName) Then
CommonDialog1.FontName = rtbEditor.SelFontName
End If
If Not IsNull(rtbEditor.SelFontSize) Then
CommonDialog1.FontSize = rtbEditor.SelFontSize
End If
If Not IsNull(rtbEditor.SelBold) Then
CommonDialog1.FontBold = rtbEditor.SelBold
End If
If Not IsNull(rtbEditor.SelItalic) Then
CommonDialog1.FontItalic = rtbEditor.SelItalic
End If
If Not IsNull(rtbEditor.SelStrikeThru) Then
CommonDialog1.FontStrikethru = rtbEditor.SelStrikeThru
End If
If Not IsNull(rtbEditor.SelUnderline) Then
CommonDialog1.FontUnderline = rtbEditor.SelUnderline
End If
If Not IsNull(rtbEditor.SelColor) Then
CommonDialog1.color = rtbEditor.SelColor
End If
'Se muestra el cuadro de las fuentes, y se
'asignan a la caja todas las propiedades
'seleccionadas por el usuario.
CommonDialog1.ShowFont
rtbEditor.SelFontName = CommonDialog1.FontName
rtbEditor.SelFontSize = CommonDialog1.FontSize
rtbEditor.SelBold = CommonDialog1.FontBold
rtbEditor.SelItalic = CommonDialog1.FontItalic
rtbEditor.SelStrikeThru = CommonDialog1.FontStrikethru
rtbEditor.SelUnderline = CommonDialog1.FontUnderline
rtbEditor.SelColor = CommonDialog1.color
'Modificamos, si es necesario, los menús.
negrita.Checked = CommonDialog1.FontBold
cursiva.Checked = CommonDialog1.FontItalic
subrayado.Checked = CommonDialog1.FontUnderline
End Sub
Private Sub mnuArchivoAbrir_Click()
'Se muestra el cuadro de diálogo de abrir
Me.CommonDialog1.Filter = "Documentos de texto(*.txt)|*.txt" + _
"|Documentos de texto enriquecido(*.rtf)|*.rtf" + _
"|Documentos HTML(*.html)|*.html|" + _
"Todos los archivos (*.*)|*.*"
CommonDialog1.ShowOpen
'Se abre el fichero seleccionado por el usuario
If rtbEditor.FileName = "" Then
MsgBox "No ha seleccionado ningún archivo", vbCritical, "AVISO"
Exit Sub
End If
rtbEditor.FileName = CommonDialog1.FileName
End Sub
Private Sub mnuArchivoGuardar_Click()
'Se muestra el cuadro de diálogo de cerrar
Me.CommonDialog1.Filter = "Documentos de texto(*.txt)|*.txt" + _
"|Documentos de texto enriquecido(*.rtf)|*.rtf" + _
"|Documentos HTML(*.html)|*.html|" + _
"Todos los archivos (*.*)|*.*"
CommonDialog1.ShowSave
'Se graba el documento en formato RTF para que
'mantenga el formato del mismo.
If rtbEditor.FileName = "" Then
MsgBox "No es un nombre de archivo válido", vbCritical, "AVISO"
Exit Sub
End If
rtbEditor.SaveFile CommonDialog1.FileName, rtfRTF
End Sub
Err.Clear
On erro GoTo pp
'Se muestra el cuadro de imprimir.
CommonDialog1.ShowPrinter
'Se imprimen tantas copias como el usuario
'haya seleccionado. Se hace a través de
'un bucle para que funcione con todo
'tipo de impresoras.
Printer.Copies = CommonDialog1.Copies
Printer.Print rtbEditor.Text
Printer.NewPage
Printer.EndDoc
Exit Sub
pp:
'Aquí se controlaría el nº de error. Hay que tener en cuenta que si
'se cancela el cuadro de diálogo y la propiedad "CancelError" está
'a True el sistema genera un error, así que:
'Si Err.Number = cdlCancel entonces el cuadro se ha cancelado
MsgBox "MAL"
End Sub
Private Sub color_Click()
'Este procedimiento muestra el cuadro de diálogo
'del color, inicializado por defecto al color
'de fondo de la caja de texto, y cambia el fondo.
CommonDialog1.Flags = &H4
CommonDialog1.color = rtbEditor.BackColor
'Se muestra el cuadro del color, y se asigna
'el color seleccionado como fondo de la
'caja de texto.
CommonDialog1.ShowColor
rtbEditor.BackColor = CommonDialog1.color
End Sub
Private Sub ffuente_Click()
'Este procedimiento muestra el cuadro de
'diálogo las fuentes.
'Se inicializa el cuadro a la fuente, con todas
'sus características, de la caja de texto.
'Se establecen como flags iniciales todas
'las fuentes y los efectos.
CommonDialog1.Flags = &H3 + &H100
'Si al seleccionar texto es de distinto tipo,
'hay parte en negrita y parte no ..., el valor de la
'propiedad es Null, y provoca un error al intentar
'acceder a él, así que se verifica antes.
If Not IsNull(rtbEditor.SelFontName) Then
CommonDialog1.FontName = rtbEditor.SelFontName
End If
If Not IsNull(rtbEditor.SelFontSize) Then
CommonDialog1.FontSize = rtbEditor.SelFontSize
End If
If Not IsNull(rtbEditor.SelBold) Then
CommonDialog1.FontBold = rtbEditor.SelBold
End If
If Not IsNull(rtbEditor.SelItalic) Then
CommonDialog1.FontItalic = rtbEditor.SelItalic
End If
If Not IsNull(rtbEditor.SelStrikeThru) Then
CommonDialog1.FontStrikethru = rtbEditor.SelStrikeThru
End If
If Not IsNull(rtbEditor.SelUnderline) Then
CommonDialog1.FontUnderline = rtbEditor.SelUnderline
End If
If Not IsNull(rtbEditor.SelColor) Then
CommonDialog1.color = rtbEditor.SelColor
End If
'Se muestra el cuadro de las fuentes, y se
'asignan a la caja todas las propiedades
'seleccionadas por el usuario.
CommonDialog1.ShowFont
rtbEditor.SelFontName = CommonDialog1.FontName
rtbEditor.SelFontSize = CommonDialog1.FontSize
rtbEditor.SelBold = CommonDialog1.FontBold
rtbEditor.SelItalic = CommonDialog1.FontItalic
rtbEditor.SelStrikeThru = CommonDialog1.FontStrikethru
rtbEditor.SelUnderline = CommonDialog1.FontUnderline
rtbEditor.SelColor = CommonDialog1.color
'Modificamos, si es necesario, los menús.
negrita.Checked = CommonDialog1.FontBold
cursiva.Checked = CommonDialog1.FontItalic
subrayado.Checked = CommonDialog1.FontUnderline
End Sub
Private Sub mnuArchivoAbrir_Click()
'Se muestra el cuadro de diálogo de abrir
Me.CommonDialog1.Filter = "Documentos de texto(*.txt)|*.txt" + _
"|Documentos de texto enriquecido(*.rtf)|*.rtf" + _
"|Documentos HTML(*.html)|*.html|" + _
"Todos los archivos (*.*)|*.*"
CommonDialog1.ShowOpen
'Se abre el fichero seleccionado por el usuario
If rtbEditor.FileName = "" Then
MsgBox "No ha seleccionado ningún archivo", vbCritical, "AVISO"
Exit Sub
End If
rtbEditor.FileName = CommonDialog1.FileName
End Sub
Private Sub mnuArchivoGuardar_Click()
'Se muestra el cuadro de diálogo de cerrar
Me.CommonDialog1.Filter = "Documentos de texto(*.txt)|*.txt" + _
"|Documentos de texto enriquecido(*.rtf)|*.rtf" + _
"|Documentos HTML(*.html)|*.html|" + _
"Todos los archivos (*.*)|*.*"
CommonDialog1.ShowSave
'Se graba el documento en formato RTF para que
'mantenga el formato del mismo.
If rtbEditor.FileName = "" Then
MsgBox "No es un nombre de archivo válido", vbCritical, "AVISO"
Exit Sub
End If
rtbEditor.SaveFile CommonDialog1.FileName, rtfRTF
End Sub
Creo que hay que agradecer a Angeles la explicita información dada a Bera y al resto del Foro.
Hola, bueno no es una respuesta mas bien una duda, miren yo quisiera abrir el la caja de dialogos (show.open), y ver todos los archivos con la extensión Doc, excepto algunos. Es decir quiero ver todos menos 1 que se llama Texto.doc, como haria para evitar visualizar en la caja de dialogos este documento.... sin cambiarle la propiedad a Oculto...bye y gracias....
