crear un *.vbs

31/01/2007 - 19:02 por ST | Informe spam
se puede crear un *.vbs desde excel ?y como seria el codigo para
lograrlo???

salu2

Preguntas similare

Leer las respuestas

#1 KL
31/01/2007 - 19:48 | Informe spam
Hola ST,

No se si te refieres a algo asi:

'En un modulo estandar--
'Ejemplo de codigo que crea un archivo Prueba.vbs en la misma
'ruta que el archivo *.xls que lo crea. El archivo resultante
'al ser ejecutado abrira este *.xls y lanzara el procedimiento
'"MiMacro" situado en un modulo estandar del mismo.

Sub CrearArchivoVBS()
Dim strTxt As String
Dim strNombreArchivo As String
Dim objFS As Object, objArchivo As Object

'Establecemos la ruta y el nombre del futuro archivo *.vbs
strNombreArchivo = ThisWorkbook.Path & "\" & "Prueba.vbs"

'Creamos el cuerpo del codigo VBS
strTxt = _
strTxt & "Set myApp = WScript.CreateObject(""Excel.Application"")" &
Chr(13)
strTxt = _
strTxt & "Set myBook = myApp.WorkBooks.Open(""" & _
ThisWorkbook.FullName & """)" & Chr(13)
strTxt = _
strTxt & "myApp.Run(""MiMacro"")" & Chr(13)
strTxt = _
strTxt & "Set myBook=nothing" & Chr(13)
strTxt = _
strTxt & "myApp.Quit" & Chr(13)
strTxt = _
strTxt & "Set myApp = Nothing"

'Creamos el archivo *.vbs y lo llenamos con el codigo
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objArchivo = objFS.CreateTextFile(strNombreArchivo, True)
objArchivo.WriteLine (strTxt)
objArchivo.Close
End Sub

'El procedimiento que luego se invocara desde el *.vbs
Sub MiMacro()
MsgBox "Hola Mundo!"
End Sub
'Fin codigo--

En todo caso, recordarte que VBS no es el mismo lenguaje que VB ni VBA :-)

Saludos,
KL



"ST" wrote in message
news:
se puede crear un *.vbs desde excel ?y como seria el codigo para
lograrlo???

salu2

Respuesta Responder a este mensaje
#2 ST
06/02/2007 - 22:54 | Informe spam
Hola KL:

1º que nada 1,000,000 gracias por tu excesiva prontitud en la
respuesta =) y 1000 disculpas por mi lentitud al responder a tu
gentileza.

2º ya resuelto el 1º planteamiento,como se ejecutaria desde excel el
*.vbs ?
probe esto; pero genera error [llamada a un procedimiento no valida]

Sub abrir()
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.OpenTextFile(ThisWorkbook.Path & "\Prueba.vbs", ForReading)
a.Close
End Sub
Respuesta Responder a este mensaje
#3 KL
06/02/2007 - 23:35 | Informe spam
Hola ST,

Prueba asi:

Sub test()
Shell "cscript " & ThisWorkbook.Path & "\Prueba.vbs"
End Sub

Saludos,
KL


"ST" wrote in message
news:
Hola KL:

1º que nada 1,000,000 gracias por tu excesiva prontitud en la
respuesta =) y 1000 disculpas por mi lentitud al responder a tu
gentileza.

2º ya resuelto el 1º planteamiento,como se ejecutaria desde excel el
*.vbs ?
probe esto; pero genera error [llamada a un procedimiento no valida]

Sub abrir()
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.OpenTextFile(ThisWorkbook.Path & "\Prueba.vbs", ForReading)
a.Close
End Sub
Respuesta Responder a este mensaje
#4 ST
07/02/2007 - 21:05 | Informe spam
KL:

el archivo no se ejecuta,probe agregando la extension ".exe",pero
tampoco ???,sera el nombre de la aplicaciòn ???

temporalmente lo solucione asi:

Sub Ejecutarvbs()
ActiveWorkbook.FollowHyperlink ThisWorkbook.Path & "\Prueba.vbs"
End Sub

el problema es que me manda el consabido aviso
de..
"Algunos archivos ,pueden contener virus o dañar el sistema,es
importante saber si el archivo procede de una fuente de
confianza,¿Desea abrir el archivo?"

Asi que mejor esperare tu comentario ;-D
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida