Здраствуйте, уважаемые!
Подскажите, можно ли запустить макрос, тело которого находится в *.txt файле?
Путь первый... Написать полный интерпретатор VB и скормить ему файл...
'------------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-----------
Sub test()
CrearArchivoVBS
Shell "cscript //nologo " & ThisWorkbook.Path & "\Prueba.vbs"
End Sub
MisterX писал(а):а СИНТАКСИС ?
Сейчас этот форум просматривают: Google-бот и гости: 76