Ya tengo terminada la version 1.0 de mi programa y corregi todos los posibles errores a la hora de iniciar el programa o de realizar su funcion, pero.. despues de compilado, me sale un error en esta linea de codigo:
...
Shell "notepad " & App.Path & "\Changes.txt", vbNormalFocus
...
Aun asi, abre el archivo especificado pero viene acompañado de este error:
(https://imageshack.us/scaled/large/823/ss3yam.png)
Antes usaba una ruta de prueba como "C:\Archivo.txt" y cuando probaba el programa, lo hacia de lo mas bien, pero una vez compilado, empezo a fallar desde que le puse App.path, yo creo que esta bien asi como lo puse, o almenos eso creo.
Que puede estar fallando?
pd: Probe tambien con ShellExecute (declarando en el modulo) y cuando lo quiero usar me dice que Sub o Function no declarada siendo que esta bien declarada.
Muestra completamente la función o procedimiento a la que pertenece esa linea de código, por favor.
¡Saludos!
Es parte del proceso de parchado de mismo boton "parchar" solo que es un condicional en caso de marcar un check4, generar un archivo de texto que tendra los cambios realizados dependiendo de los check1 y check2, al terminar de escribir en el archivo de texto, se guarda y se ejecuta.
Te dejo la parte mas relevante del codigo, el resto pertenece a lo del manejo del archivo excel:
If Check4.Value = 1 Then
Set Archivo = Fso.CreateTextFile(App.Path & "\Changes.txt", 1)
If Check1.Value = 1 Then
With Archivo
.writeline "#########################"
.writeline "Bla bla bla:"
.writeline vbCrLf
.writeline "#########################"
End With
End If
'-------------------------------------------
If Check2.Value = 1 Then
With Archivo
.writeline "#########################"
.writeline "Bla bla bla"
.writeline "bla bla bla" & vbCrLf
.writeline "#########################"
End With
End If
Archivo.Close
Set Fso = Nothing
Set Archivo = Nothing
Shell "notepad " & App.Path & "\Changes.txt", vbNormalFocus
Es que, creo, que deberías de comprobar si el archivo está listo antes de cargarlo con el bloc de notas. ¿Por qué no usas los métodos tradicionales de manejo de archivos?...
¡Saludos!
Intente de 3 formas y crei que esa era la mejor, mas no puedo refrescar la memoria, hace 4 años que no retomaba VB :rolleyes:
Dim auxStr as string
Dim FF as long
If Check4.Value = 1 Then
If Check1.Value = 1 Then
auxStr=auxStr & vbcrlf & "###########" & vbcrlf & "BlaBlablabla1" vbcrlf & "###########"
End If
'-------------------------------------------
If Check2.Value = 1 Then
auxStr=auxStr & vbcrlf & "###########" & vbcrlf & "BlaBlablabla2" vbcrlf & "###########"
End If
FF=freefile
open App.Path & "\Changes.txt" for binary as ff
put ff,,auxStr
while lof(ff)<len(auxStr)
doevents
wend
close ff
Shell "notepad " & App.Path & "\Changes.txt", vbNormalFocus
A ver, prueba eso (no tengo un IDE de vb aquí), talvez funcione.
¡Saludos!
Si, en vez de manejar el archivo de texto con fso podria hacerlo asi tambien pero, es mucho el texto que tengo que meter. Voy a probar, ta vez asi funcione, sino vuelvo a molestar por aca.
esto no funciona
open C:\Archivos de programa\a.txt
esto SI funciona
open "C:\Archivos de programa\a.txt"
Te faltan las comillas al parametro del archivo, aunque es raro que te salga ese error y no otro como error externo o algo así