index.php?id=110

Editor de Texto Tipo Notepad en Visual Basic 6.0

Por Yal Publicidad


Publicado el Jue 25 de Febrero del 2021 a las 19:42



En este tutorial veremos como crear un editor de texto tipo notepad en Visual Basic 6.0...

Hola en esta ocasión les explicaré como crear un editor de texto simple.

Para no hacer esto aburrido vamos a los hechos, Solo lean bien el contenido ya que ahí explico cada parte del código. Bien a Trabajar:

Primero creamos un Formulario, para mi caso lo llamaré EditorY. En el colocamos un TextBox(cambiar las propiedades multiLine = True y ScrollBars = 3 - Both), y un Menú con sus respectivos Sub-menús de esta forma:

 

Caption = &Nuevo
Name = mnuNew
------------------------

Caption = &Abrir
Name = mnuOpen
------------------------
Caption = &Guardar
Name = mnuSave
------------------------
Caption = Guar&dar Como...
Name = mnuSaveAs
------------------------
Caption = Imprimir
Name = mnuPrint
------------------------

Caption = &Salir
Name = mnuExit
------------------------
Caption = &Copiar
Name = mnuCopy
------------------------
Caption = C&ortar
Name = mnuCut
------------------------
Caption = Pegar
Name = mnuPaste
------------------------
Caption = Seleccionar Todo
Name = mnuSelectAll
------------------------
Caption = Eliminar
Name = mnuDelete
------------------------
Caption = Fuente
Name = mnuFont

 

Me olvidaba de un componente... vayan al menú Proyecto->Componentes y seleccionen Microsoft Common Dialog control 6.0 (SP3) y en Proyecto-> Referencias seleccionamos Microsoft Word 9.0 Object Library

NOTA: Si deseas crear tu propio CommonDilog te explico al final como se hace un editor de texto parecido a notepad.

Aclaro que pueden poner el nombre que quieran al menú y sus submenús pero asegúrense de colocar cada código en sus respectivos menús. Estos nombres son los que yo estoy utilizando para este ejm.

Ahora vamos al formulario EditorY 

Codigo en el EditorY:

Option Explicit

Private Modificado As Boolean ?verifica si el texto se modifica o no como verdadero o falso

?FUNCION PUBLICA PARA PASAR EL CONTENIDO DE UN TEXTBOX WORD
Public Sub AbrirWord_Click()
'Pasar el contenido del TextBox a Microsoft Word, para ello decimos que el documento de la aplicación de word contendra lo escrito en nuestro textBox
Dim MSWord As New Word.Application
Dim Documento As Word.Document
Dim Parrafo As Paragraph


Set Documento = MSWord.Documents.Add
Set Parrafo = Documento.Paragraphs.Add

Parrafo.Range.InsertAfter Text1.Text

MSWord.Visible = True
End Sub

Private Sub Form_Load()
Dim i As Long, tamFic As Long

'Llamamos a Crear Asociacion pasandole la ruta de nuestro Exe, _
luego la extención a registrar, una descripción , y el último es el _
path opcional para asociar la extención con un icono, que debe estar _
en una dll o será un icono personalizado en este ejm. ?Miicono.ico? y la extensión ?.yal?.

CrearAsociacion App.Path & "" & App.EXEName, "yal", "Mi Documento Yal", "iconosmiicono.ico" ?App.Path (es la ruta del .exe ejm. C:Mi exe) y(&) y(&) App.EXEName (es el nombre del .exe ejm. EditorY.exe) lo que nos quedaria la ruta C:Mi exeEditorY.exe, tan facil como eso (para los que recien se inician en la programación de VB6).

'Ahora recibimos el valor de la linea de comandos, si es distinta de un a cadena vacia osea a nada entonces
'Leemos el archivo con el método FreeFile del TextBox, pasandole la ruta, al Command$ es la ruta del documento que contenga la extensión .yal o cualquier extensión que quieran registrar.
If Command$ <> "" Then
i = FreeFile ?Utilizamos el freeFile para abrir el Texto cuando hagamos doble click en el documento.yal
Open Command$ For Input As I ?abrimos la ruta del Command$ en donde sea que este en Mis documento en C: o en donde este.
tamFic = LOF(i) ?le decimos que el textbox abra el documento con la ruta command& utilizando el FreeFile
Text1.Text = Input$(tamFic, i)
Close i ?cerramos i
Caption = Command$ & " ? Mi Editor" ?colocamos l nombre del documento en el caption del Formulario
Modificado = False ?le decimos al textBox que no se modifique cuando abrimos el documento
CommonDialog.FileName = Command$ ?le decimos al commonDialog que la ruta del archivo es igual a la ruta de Command$, esto para que cuando modifiques el documento lo siga guardando en el mismo y no se abra guardar como un documento que no existe.
Else
VerNuevoDoc 'Llamada a la operacion de nuevo documento en caso se abra el .exe sin utilizar un domento de extensión .yal, para que entiendan abrir EditorY.exe de forma normal y se coloque en el caption del formulario ?Mi Documento 1 ? Mi Editor?
End If
End Sub

Private Sub Form_Unload(Cancel As Integer) ?Esta parte indica que al cerrar el formulario se preguntara si desea guardar los cambios si es que el texto se ha modificado o no
mnuExit_Click ? Para ello nos vamos al menú salir donde se encuentra el código de salida
End Sub

Public Sub imprimeLineas(Texto As Object, Linea As Integer)
?Funcion para imprimir el texto del editor
On Error GoTo NoImprimir ?el On Error nos sirve para enviar cualquier error que suceda al ejecutar el comando a una determinada función en este caso NoImprimir (puede ser cualquier nombre que deseen pero recuerden poner ese nombre al final de declarar toda la función en nuestro ejm NoImprimir:)  Linea Then
NumB = NumC Linea
For i = 0 To NumB ? Para no complicarnos decimos que imprimimos de 0 lineas hasta las lineas que exista para todo esto utilizamos un bucle, estudien bien cada codigo puesto aquí
Texto.SelStart = (Linea * i)
Texto.SelLength = Linea
Bloque = Texto.SelText
Printer.Print Bloque
Next i
Else
Printer.Print Texto.Text
End If
Printer.EndDoc
NoImprimir: ?No imprime si sucede algun error
End Sub

Private Sub mnuAbrir_Click()
On Error GoTo NoAbrir ?el On Error nos sirve para enviar cualquier error que suceda al ejecutar el comando a una determinada función en este caso NoAbrir (puede ser cualquier nombre que deseen pero recuerden poner ese nombre al final de declarar toda la función en nuestro ejm NoAbrir: y le podemos poner un mensaje el que queramos como lo veremos abajo)

Dim sFile As String
Dim i As Long, tamFic As Long

With CommonDialog ?solo decimos que con(With) realizamos todas las funciones que contiene este componente.
.DialogTitle = "Abrir Documento..." ?titulo del commondialod
.FileName = sFile ?Nombre del Archivo, decimos que es igual a sFile, este para poder asignar la ruta al textBox
'Filter indicadores y atributos del control common dialog
.Filter = "Mi Documento YAL (*.yal; *.txt)|*.yal; *.txt|Todos los archivos(*.*)|*.*"
.ShowOpen ?abrimos el commonDialog
If Len(.FileName) Then ? este punto ya lo explicamos en el Form_Load()
sFile = .FileName
i = FreeFile
Open sFile For Input As i
tamFic = LOF(i)
Text1.Text = Input$(tamFic, i)
Close i
End If
If Len(.FileName) = 0 Then ? en este punto decimos que si no hay ningun archivo el caption del formulario es igual al mismo nombre osea ?Mi documento 1 o sea el numero de documento en que estemos o sea el nombre del ducumento que tengamos abierto en ese momento, esto es para evitar errores cuando pulsemos cancelar y no escojamos ningun documento y no se coloque ningun nombre en el caption del Formulario?
Caption = Caption
Else ?si abrimos un documento se asignara el nombre(.FileTitle) del documento que abramos
Caption = .FileTitle & " - Mi Editor"
End If
End With

Modificado = False ?le decimos que el texto no se modifica cuando se abre
Exit Sub
NoAbrir: ?si hay error al abrir mandamos el contenido a Microsoft word, porque a Microsoft word... para que sepan como pasar un documento de texto en VB6 a word.
If MsgBox (?El texto es demasiado grande para abrirlo con Mi Editor...? &vbCrLf & _ ¿desea abrirlo con Microsoft Word??, vbQuestion   vbYesNo) = vbYes Then ?Mensaje si hay error en abrir
AbrirWord ?llamada a función para abrir word
End Sub
Private Sub mnuCopy_Click()
'Copiar Texto
Clipboard.Clear
Clipboard.SetText Text1.SelText
Text1.SetFocus
End Sub

Private Sub mnuCut_Click()
'Cortar Texto
Clipboard.SetText Text1.SelText
Text1.SelText = ""
Text1.SetFocus
End Sub

Private Sub mnuEliminar_Click()
'Eliminar Texto
Text1.SelText = ""
End Sub

Private Sub mnuExit_Click()
If Modificado Then 'verificar si el texto esta Modificado, fijate bien en esto cuando presionamos salir preguntamos si esta modificado y si(If) en el mensaje presionamos Aceptar (vbYes) entonces se presionará guardar.
If MsgBox("El documento ha sido modificado..." & vbCrLf & _
"¿Desea Guardar el documento antes de salir del editor?", vbQuestion   vbYesNo) = vbYes Then
mnuSave_Click
End If
End If
End
End Sub

Private Sub mnuFont_Click()
CommonDialog.flags = cdlCFBoth Or cdlCFEffects
'observar el tipo de fuente que tendra nuestro textBox
CommonDialog.FontName = "Ms Sans Serif"
CommonDialog.ShowFont
If Err <> 32755 Then

Text1.Font = CommonDialog.FontName
Text1.ForeColor = CommonDialog.Color
Text1.FontItalic = CommonDialog.FontItalic
Text1.FontBold = CommonDialog.FontBold
'Aquí indicamos que la fuente del textbox es igual a la fuente del commonDialog, asi como el color ect,ect,ect...
'como te dije en un comienzo estudia bien los codigos puestos aquí ya que te los estoy explicando no es solo copiar y ya hay que saber porque va cada cosa por las....¡??@ no te estoy expklicando paso a paso todo ...Perdón pero es que me interesa que aprendan
End If
End Sub

Private Sub mnuNew_Click()
'Si el texto se ha modificado preguntar si se guarda o no
If Modificado Then ?si el texto se ha modificado preguntará si se guarda o no
If MsgBox("El documento ha sido modificado..." & vbCrLf & _
"¿Desea guardar el documento?", vbQuestion   vbYesNo) = vbYes Then ?si sale el mensaje de guardar verificar si se presiona aceptar(vbYes) si es igual a este entonces presionamos mnuSave(Guardar). Si no simplemente se pierde la información y generamos un nuevo documento ...como? lo veremos en un momento.
mnuSave_Click
End If
End If

'Abrir Documento en blanco
Text1.Text = "" 'Pone el texto en blanco, simplemente borra el contenido escrito en el.
VerNuevoDoc ?Llama a la funcion que hace que aumente los numeros 1, 2, 3 etc. Recuerda que esto lo hace en el caption de Formulario.
Modificado = False ?hace que el TextBox(Text1.Text) se vuelva a no modificado.
CommonDialog.FileName = "" ?hace que el commondDialog no contenga ningun documento para que sea guardado como nuevo y no reemplace nuestro documento que habiamos trabajado anteriormente.
End Sub

Private Sub mnuPaste_Click()
'Pegar Texto
Text1.SelText = Clipboard.GetText()
Text1.SetFocus
End Sub

Private Sub mnuPrint_Click()
'Imprime X lineas, X es 60 en este ejmplo
imprimeLineas Text1, 60 ?Llamamos a la funcion imprime lineas
End Sub

Private Sub mnuSave_Click()
Dim sFile As String
Dim i As Integer

If Len(CommonDialog.FileName) = 0 Then ?Aquí decimos que si el commonDialog es igual a 0 osea que no contiene ningun achivo se abra el commonDialog con
mnuSaveAs_Click ?el menu guardar como...
Else ?y si hay un archivo abierto simplemente se omitira abrir guardar como y se guardara lo modificado el documento ya abierto con la funcion commonDialog.FileName
i = FreeFile
Open CommonDialog.FileName For Output As i
Print #i, Text1.Text
Close i
End If

mnuSave.Enabled = False ?colocamos el menu guardar a Enabled = False
Modificado = False ?le decimos al editor que como se guardo no hay nada que quede modificado hasta que se vuelva a escribir en el.
End Sub

Private Sub mnuSaveAs_Click()
On Error GoTo NoGuardar ?lo mismo explicado anteriormente que si hay error no guarde
Dim sFile As String
Dim i As Long

With CommonDialog ?Esta función hace que el commondialog se abra siempre que queremos guardar un nuevo documento (estúdienlo bien ya que parte de este codigo ha sido explicado anteriormente).
.DialogTitle = "Guardar Documento..."
.FileName = sFile
'establecer los indicadores y atributos del control common dialog en Filter
.Filter = "Mi Documento YAL (*.yal)|*.yal|Documento de texto (*.txt; *.wri)|*.txt; *.wri|Todos los archivos (*.*)|*.*"
.ShowSave ?abre el commonDialog para guaradra documento.
If Len(.FileName) Then ?recuerda que .FileName es la ubicación del archivo ejm. C:Mis documentosmi documento.yal. Que .FileTitle es el nombre del documento ejm. Mi documento.yal, asi que lo que nos quiere decir esto es que si(If) la longitud(Len) es .fileName(C:Mis do......) entonces(then) se guarda el documento con el FreeFile en la ubicación del .FileName
sFile = .FileName
i = FreeFile
Open .FileName For Output As i
Print #i, Text1.Text
Close i
End If
If Len(.FileName) = 0 Then ?Aquí decimos que si se presiona cancelar y no se guarda el documento sigue conservando el nombre que tiene sea documento 1 o el nombre del documento con que se esta trabajando actualmente.
Caption = Caption
Else ? y si lo guardamos se colocara el nombre con que lo guardamos
Caption = .FileTitle & " - Mi Editor"
End If
End With
Modificado = False ? le decimos al textbox que ya no hay nada modificado
NoGuardar: ? si hay error se viene aquí
End Sub

Private Sub mnuSelect_Click()
'Seleccionar todo el texto
Text1.SetFocus
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
End Sub

Private Sub VerNuevoDoc()
'Esta funcion hace que el nombre del nuevo documento aumente progresivamente
'Ejm. documento 1, documento 2,3,4.... ect, ect, cada vez que se presione Nuevo Documento.
Static lDocumentCount As Long ?se crea un valor estatico
lDocumentCount = lDocumentCount   1 ?se indica que el valor estatico sea igual a este mas 1, en pocas palabras que aumente cada vez que sea llamado.
Caption = "Mi Documento " & lDocumentCount & " ? Mi Editor? ?Hacemos que el caption del formulario se escriba lo siguiente: Mi documento 1 ? Mi Editor.
End Sub

Private Sub Text1_Change()
Modificado = True ?Aquí solo indicamos que si se modifica el texto Modificado cambia a verdadero
lblGuardar.Enabled = True ? hace que le quite el enabled al menú guardar
End Sub

 EN UN MODULO .BAS COPIA LO SIGUIENTE y como te dije analiza lo que va aquí.

Option Explicit


'Funciones Api para leer, abrir, cerrar y escribir en el registro
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, ByVal lpSecurityAttributes As Long, phkResult As Long, lpdwDisposition As Long) As Long
Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Public Declare Function RegSetValueExString Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpValue As String, ByVal cbData As Long) As Long
Public Declare Function RegSetValueExLong Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpValue As Long, ByVal cbData As Long) As Long

'Constantes varias para las funciones Api del registro
Public Const REG_SZ As Long = 1
Public Const REG_DWORD As Long = 4

Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const ERROR_NONE = 0
Public Const ERROR_BADDB = 1
Public Const ERROR_BADKEY = 2
Public Const ERROR_CANTOPEN = 3
Public Const ERROR_CANTREAD = 4
Public Const ERROR_CANTWRITE = 5
Public Const ERROR_OUTOFMEMORY = 6
Public Const ERROR_INVALID_PARAMETER = 7
Public Const ERROR_ACCESS_DENIED = 8
Public Const ERROR_INVALID_PARAMETERS = 87
Public Const ERROR_NO_MORE_ITEMS = 259
Public Const KEY_ALL_ACCESS = &H3F
Public Const REG_OPTION_NON_VOLATILE = 0

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _
hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long


Public Declare Function OSRegOpenKey Lib "advapi32" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpszSubKey As String, phkResult As Long) As Long
Global Const HKEY_CLASSES_ROOT = &H80000000
Public Const ERROR_SUCCESS = 0&

Private Declare Sub SHChangeNotify Lib "shell32.dll" _
(ByVal wEventId As Long, _
ByVal uFlags As Long, _
dwItem1 As Any, _
dwItem2 As Any)

Const SHCNE_ASSOCCHANGED = &H8000000
Const SHCNF_IDLIST = &H0&


Public Sub CrearAsociacion(RutadelExe As String, EXT As String, Descripción As String, LibreriaIcono As String)
?Aquí decimos que RutadelExe es igual a donde estara ubicado nuestro .exe, EXT es la extensión que utilizaremos y descripción es la descripción que va como identificador del documento ejemplo documento.yal su descripción es Documento de YAL, y libreríaIcono es el icono que tendra nuestro documento .yal
Dim sPath As String

sPath = App.Path & "" & "EditorY.exe" & " %1"

CreateNewKey "." & EXT, HKEY_CLASSES_ROOT
SetKeyValue "." & EXT, "", RutadelExe, REG_SZ

CreateNewKey RutadelExe & "shellopencommand", HKEY_CLASSES_ROOT
CreateNewKey RutadelExe & "DefaultIcon", HKEY_CLASSES_ROOT

SetKeyValue RutadelExe, "", Descripción, REG_SZ
SetKeyValue RutadelExe & "shellopencommand", "", sPath, REG_SZ
SetKeyValue RutadelExe & "DefaultIcon", "", LibreriaIcono, REG_SZ
SHChangeNotify SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0

End Sub

?Ahora las funciones para el registro
Private Sub CreateNewKey(sNewKeyName As String, lPredefinedKey As Long)
'handle para la nueva clave
Dim hKey As Long
'retorno de la función RegCreateKeyEx
Dim r As Long
r = RegCreateKeyEx(lPredefinedKey, sNewKeyName, 0&, vbNullString, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0&, hKey, r)
Call RegCloseKey(hKey)
End Sub

Public Sub SetKeyValue(sKeyName As String, sValueName As String, vValueSetting As Variant, lValueType As Long)
'retorno de funcion SetValueEx
Dim r As Long
'handle
Dim hKey As Long
'Abrimos la clave especifica
r = RegOpenKeyEx(HKEY_CLASSES_ROOT, sKeyName, 0, KEY_ALL_ACCESS, hKey)
r = SetValueEx(hKey, sValueName, lValueType, vValueSetting)
'cerramos la clave abierta pasandole el handle
Call RegCloseKey(hKey)
End Sub


Private Function SetValueEx(ByVal hKey As Long, sValueName As String, lType As Long, vValue As Variant) As Long
Dim nValue As Long, sValue As String

Select Case lType
'Valor de Cadena
Case REG_SZ
sValue = vValue & Chr$(0)
'Establecemos el valor en el registro
SetValueEx = RegSetValueExString(hKey, sValueName, 0&, lType, sValue, Len(sValue))
'Valor entero
Case REG_DWORD
nValue = vValue
'Establecer el valor en el registro
SetValueEx = RegSetValueExLong(hKey, sValueName, 0&, lType, nValue, 4)
End Select
End Function

Esto solo es adicional no coloquen dentro del codigo del formulario es solo si quieren crear un efecto con un Label, vamos al ejemplo, solo coloquen un Label que tenga el color blanco:

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.ForeColor = vbWhite ?si pasamos el roton por el formulario el Label tendra el color Blanco y si lo ponemos encima del Label se pondra de Color Rojo.
End Sub

Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.ForeColor = vbRed
End Sub

Bueno como les dije en alguna parte de este tutorial les explicare como hacer un commond dialog, en un Modulo con nombre ?MiDialogo.bas? pongan lo siguiente:

Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long
Dim OFName As OPENFILENAME

Public Function AbrirArchivo(f As Form, extenciones As String, titulo As String) As String
With OFName
.lStructSize = Len(OFName)
.hwndOwner = f.hWnd
.hInstance = App.hInstance
.lpstrFilter = extenciones
.lpstrFile = Space$(254)
.nMaxFile = 255
.lpstrFileTitle = Space$(254)
.nMaxFileTitle = 255
.lpstrInitialDir = "C:Mis documentos"
.lpstrTitle = titulo
.flags = 0

If GetOpenFileName(OFName) Then
AbrirArchivo = Trim$(OFName.lpstrFile)
Else
AbrirArchivo = ""
End If
End With
End Function

Public Function GuardarComo(f As Form, extenciones As String, titulo As String) As String
With OFName
.lStructSize = Len(OFName)
.hwndOwner = f.hWnd
.hInstance = App.hInstance
.lpstrFilter = extenciones
.lpstrFile = Space$(254)
.nMaxFile = 255
.lpstrFileTitle = Space$(254)
.nMaxFileTitle = 255
.lpstrInitialDir = "C:Mis documentos"
.lpstrTitle = titulo
.flags = 0
If GetSaveFileName(OFName) Then
GuardarComo = Trim$(.lpstrFile)
Else
GuardarComo = ""
End If
End With
End Function

 Ahora en un formulario coloquen un TextBoxy un CommandButton:

Private Sub Command1_Click()
	Dim NomArchivo As String, tipoArchivos As String

	tipoArchivos = "Text Files (*.txt)"   Chr$(0)   "*.txt"   Chr$(0)   "All Files (*.*)"   Chr$(0)   "*.*"   Chr$(0)
	NomArchivo = MiDialogo.AbrirArchivo(Me, tipoArchivos, "Selecciona un archivo") ?Aquí MiDialogo es el modulo donde estan las funciones, tipo de Archivo es el archivo seleccionado y ?seleccionar un archivo es el nombre que tendra nuestro commonDialog como titulo mejor dicho el DialogTitle de VB6?
	If NomArchivo <> "" Then
		Text1.Text = NomArchivo ? en el textbox aparecera la direccion abierta si desean abrir el contenido solo reemplacen el contenido del FreeFile del Texbox por este.
	End If
	?SI DESEAN GUARDAR SOLO REEMPLACEN MiDialogo.AbrirArchivo por MiDialogo.GuardarComo y colocar como titulo guardarComo? en ?seleccionar archivo?.
End Sub

 Eso es todo :) espero les sirva de mucha ayuda...

 

Yuri Lizama

 


Deja un comentario:
Buscar
Acerca de Nosotros
@yalpublicidad Agencia de publicidad online. 21 años de experiencia en el diseño y desarrollo de imagen e identidad corporativa de tu empresa...