12/09/2011, 10:42
|
| | Fecha de Ingreso: abril-2007
Mensajes: 99
Antigüedad: 17 años, 6 meses Puntos: 0 | |
Abrir/Guardar/Guardar como desde Menu Contextual Buenas. Tengo creada una aplicación. Guardo y abro archivos sin problemas. Lo que quiero es que al darle a guardar, si aun no está guardado el archivo salga el diálogo tipo "Guardar como", y si ya está guardado, que con solo darle a guardar se guarde sin tener que decirle otra vez donde está el archivo.
Código:
'CODIGO PARA ABRIR ARCHIVO
Private Sub AbrirPresupuesto_Click()
Dim OFName As OPENFILENAME
Dim RutaArchivo As String
Dim Variable
With OFName
.lStructSize = Len(OFName)
'Establecemos el hwnd del form
.hwndOwner = Me.hWnd
'Establecemos el numero de instancia de la aplicacion
.hInstance = App.hInstance
'Establecemos el filtro de archivos a mostrar, _
en este caso txt y todos los ficheros
.lpstrFilter = "Archivos de texto (*.txt)" + Chr$(0) + "*.txt" + Chr$(0) + _
"Todos los archivos (*.*)" + Chr$(0) + "*.*" + Chr$(0)
'Acá debemos crear un buffer para el archivo
.lpstrFile = Space$(254)
'Establecemos el tamaño maximo retornado
.nMaxFile = 255
'Creamos un buffer para el titulo del archivo
.lpstrFileTitle = Space$(254)
'Establecemos el tamaño maximo retornado
.nMaxFileTitle = 255
'Establecemos el directorio por defecto que mostrará el dialogo
'.lpstrInitialDir = "C:\"
'El title
.lpstrTitle = "Abrir archivos"
'Flasgs que detereminan caracteristicas del dialogo
.flags = 0
End With
'Abrimos el cuadro de diálogo pasándole _
a GetOpenFileName la estructura anterior
If GetOpenFileName(OFName) Then
RutaArchivo = Trim$(OFName.lpstrFile)
Open RutaArchivo For Input As #1
Dim linea As String, Total As String
List1.Clear
Do Until EOF(1)
Line Input #1, linea
List1.AddItem linea
Loop
Close #1
SaveSetting "RutaArchivo", "Valores", "Path", txtruta.Text
SaveSetting "NombreArchivo", "Valores", "Path", txtarchivo.Text
Close #1
End If
End Sub
Código:
'CÓDIGO "GUARDAR COMO"
Private Sub guardar_como_Click()
Dim sFile As String
'TareasPendientes: Agregar código 'mnuFileSaveAs_Click'.
'MsgBox "Agregar código 'mnuFileSaveAs_Click'."
With dlgCommonDialog
.DialogTitle = "Guardar"
.CancelError = False
'Pendiente: establecer los indicadores y atributos del control common dialog
.Filter = "Archivos de texto (*.txt)|*.txt|Todos los archivos (*.*)|*.*"
.ShowSave
If Len(.FileName) = 0 Then
Exit Sub
End If
sFile = .FileName
End With
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
' Comprobar archivo
If fso.FileExists(sFile) = "Verdadero" Then
If MsgBox("El archivo ya existe. ¿Desea reemplazarlo?", vbExclamation + vbYesNo, "Reemplazar Archivo") = vbYes Then
GoTo Sigueeee
End If
End If
Sigueeee:
Dim canalLibre As Integer
'Obtenemos un canal libre que nos dará
'el sistema oparativo para poder operar
canalLibre = FreeFile
' Abrimos el fichero en el canal dado
Open sFile For Output As #canalLibre
'Escribimos el contenido del TextBox al fichero
Print #canalLibre, var1
Print #canalLibre, var2
Close #canalLibre
SaveSetting "RutaArchivo", "Valores", "Path", txtruta.Text
SaveSetting "NombreArchivo", "Valores", "Path", txtarchivo.Text
End Sub
Código:
Private Sub Form_Load()
txtruta.Text = GetSetting("RutaArchivo", "Valores", "Path", "NO_HAY_PATH")
txtarchivo.Text = GetSetting("NombreArchivo", "Valores", "Path", "NO_HAY_PATH")
End Sub
Última edición por oskarrr; 14/09/2011 a las 05:34 |