miércoles, 25 de febrero de 2009

Qlikview - Include para VBscript

Utilizando el Qlikview necesito unificar para muchos archivos qvw el mismo Modulo (donde se agregan las subrutinas y las funciones), por lo que tengo que crear un archivo vbs, donde tenga todo lo que requiero y desde los archivos qvw tengo que llamar, incluir o importar estas funciones.

En VBscript no existe una instrucción donde yo pueda incluir desde un archivo vbs otro vbs.

Si tenemos el archivo1.vbs que imprime un mensaje "Hello Word"


sub HolaMundo
msgbox("Hello Word")
end sub


y queremos llamar desde otro archivo vbs(Archivo2.vbs) este mensaje, no existe una funcion como la de php por ejemplo
include("nombre.php");


ahora, buscando en la web encontre una solución a esto, pero tenemos que crear una subrutina que lo simule.

entonces debemos hacer lo siguiente, tenemos nuestras funciones o subrutinas en

archivo1.vbs



sub holaMundo
msgbox("Hello World")
end sub


entonces debemos agregar en nuestro qrchivo2.vbs lo siguienre para poder utilizar las funciones o subrutinas de Archivo1.vbs.
archivo2.vbs

Import "C:\Archivo1.vbs"

Sub Import(ByVal strFile)
Set objFs = CreateObject("Scripting.FileSystemObject")
Set WshShell = CreateObject("WScript.Shell")
strFile = WshShell.ExpandEnvironmentStrings(strFile)
file = objFs.GetAbsolutePathName(strFile)
Set objFile = objFs.OpenTextFile(strFile)
strCode = objFile.ReadAll
objFile.Close
ExecuteGlobal(strCode)
End Sub



Como yo estoy aplicando esto a Qlikview, realizo lo siguiente

creo el archivo1.vbs con todas las funciones y subrutinas y desde los archivos qlikview(qvw) agrego en el módulo lo que se debe agregar en el archivo2.vbs y asi puedo modificar una funcion en el archivo1.vbs y cambiara en todos los archivos Qlikview (qvw).


Asi soluciono mi problema de modificar todos los archivos con las mismas funcionalidades cada vez que se hace un cambio.






fuente: asp free.com <-- aqui