Ver Mensaje Individual
  #14 (permalink)  
Antiguo 26/07/2006, 09:35
Avatar de verinchi
verinchi
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 7 meses
Puntos: 2
word.application

hola gente!
Bueno, estuve buscando bastante acerca de como crear documentos de word desde asp, ya que lo necesito para una aplicación intranet y tengo lo siguiente:
Código:
Sub CrearWord(Nombre,Asunto)

		' CREAR DOCUMENTO DE WORD
	    Set WordApp = CreateObject("word.application")
	    Set WordDoc = WordApp.Documents.Add()
	    
	    WordApp.Application.Visible = True
	    
	    Set MyRange1 = WordDoc.Paragraphs.Add.Range
	    MyRange1.InsertBefore("Documento de prueba")    

	'Esto que viene ahora es lo de los estilos de Word. Puedes poner uno que ya tengas definido
	'MyRange1.Style = "Título 3"	

	    
	    Set MyRange1 = WordDoc.Paragraphs.Add.Range
	    MyRange1.InsertBefore("Nombre: " & Nombre & vbcrlf & "Asunto: " & Asunto)

'Aquí estuve probando para dar formato al texto. No hay más que poner true o false según queráis que se active. No encontré más cosillas de estas

	    MyRange1.Font.Bold = true
	    MyRange1.Font.Italic= true
	    MyRange1.Font.Underline= true
	    MyRange1.Font.Size=10
	    MyRange1.Font.Name="verdana"

	    	    
	    Set MyRange1 = WordDoc.Paragraphs.Add.Range
MyRange1.InsertBefore(vbcrlf & "Este es el mensaje que va en el documento Word. Recordar que hay que poner algún sistema para que el nombre del archivo sea diferente cada vez. Yo mientras he puesto uno que se basa en coger el dia, hora, minutos y segunods. Es cutre pero era para salir del paso")

' Setea el directorio donde se va a guardar el documento
WordDocPath = Server.MapPath("..\carpeta")
            ' Se recomienda usar un nombre de sesión para guardarlo, a mi no me interesa mucho eso.
WordDoc.SaveAs WordDocPath & "documento1.doc"
WordDoc.Close
WordApp.Quit
    
		Set WordDoc = Nothing
		Set WordApp = Nothing		
				
End Sub
Y bueno, una de las opciones que encontré por ahí dando vueltas fue tener una plantilla .dot, y cargarla en la instrucción Set WordDoc = WordApp.Documents.Add()
Pero me da los siguientes errores:
Cuando no coloco ningun documento Add() me dice que la memoria es insuficiente, y que guarde el docuemento. Claro que no se puede guardar antes de setear la variable a documento (lo intenté en esas ráfagas de probar todo )
Y cuando coloco la plantilla .dot me dice que está dañada, cosa que no es así porque la verifiqué varias veces.
Tampoco me deja cargar un documento .doc en ese espacio, el error es el mismo que con el .dot, que está dañado...

Alguien probó alguna vez con esto?
Tendrá algo que ver que sea word 2003???

En caso que no tengamos idea ninguno... el FSO sirve solo para texto verdad? el tema de meterle imagenes no va... o me equivoco?
También la de response.contentType es solo para textos no?
Es solo una imagen que necesito poner... justamente el logo del cliente... y me complica la existencia a mas no poder.
Bueno, se agradece todo aporte.
Coloqué mi pregunta acá porque veo que hay muchos threads que hablan de .doc y bueno, a veces está bueno tener todas las discusiones en uno para que las soluciones también figuren en uno.
Si es necesario abrir uno nuevo, solo me chiflan si?

Muchíiiisimas gracias de antemano a todos!
__________________
Why can't we not be sober?
www.partitorium.com.ar