io uso la classe di inclusione dinamica scritta da baol (che ho modificato per la funzione di cui sopra)

class.include.asp
codice:
Class Class_dinamicInclude

	public Fso
	public WebPath
	
	private sub Class_initialize()
		WebPath = Request.ServerVariables("APPL_PHYSICAL_PATH")
	    Set Fso = CreateObject("Scripting.FileSystemObject")
	end sub

	private function Readfile(rFilename)
		Dim f
		
		on error resume next
		Set f = fso.OpenTextFile(WebPath & rFilename , 1,False, 0)
		
		if err.number<>0 then
			Response.Write("<p style=""font-family:verdana;font-size:11"">Include File not Found [" & lCase(WebPath & rFilename) &"]

")
			Response.Write("<p style=""font-family:verdana;font-size:11"">Error "& Err.number  &" [" & Err.Description  &"]

")
			Response.end
		end if
		
		on error goto 0
		
		Readfile = f.ReadAll
		
		f.close
		
		Set f=nothing
		
	End Function

	Public Function Include(Filename)
		dim tMp,Fullpath
		tMp = Replace(request.ServerVariables("URL"),"/","\")
		Fullpath = Mid(tMp,2,InStrRev(tMp,"\")-1) & Filename
		
		include = Readfile(Fullpath)
		include = replace(include,"<" & "%","")
		include = replace(include,"%" & ">","")
		
	end function
	
	private sub Class_Terminate()
		set fso = nothing
	end sub
	
end class

Sub IncludeFile(argFilename)

	dim  oIncludeFile
	Set oIncludeFile = new Class_dinamicInclude
	IncludeFile = oIncludeFile.Include(argFilename)
	Set oIncludeFile = nothing
		
End Sub
il suo utilizzo è semplicissimo

per es:

codice:
<%
call IncludeFile(request.querystring("lang") & ".asp")
%>
in questo caso includerebbe dinamicamente il file ITA.ASP
ricorda sempre che questo tipo di inclusioni possono utilizzare TUTTE le variabili della pagina in cui vengono incluse. non sono ambienti isolati.

peraltro ricorda di fare un controllo sui valori di entrata
ma l'utilizzo pratico è questo che ti ho esposto