Página 2 de 3

es que

Publicado: Vie Abr 06, 2007 11:17 pm
por chicho2004
es que lo unico que he hecho es llamar los campos de una mdb y eso es facil se hace con un ayudante pero lo que necesito es ponerle una platilla que diga bla bla blaaa y en cierto campos sea alimentado por los datos que ingresé en el programita de vb6 y no se como hacer eso...

No me abandones siento que solo es el empujon que necescito ayudame si

Publicado: Vie Abr 06, 2007 11:38 pm
por Carola77
Hola, revise tu pregunta y tambien la respuesta, ambas son bien buenas, yo he tenido la suerte de trabajar con VB y word enlazandolos, es decir tomas unas variables del text.text y lo envias a un sdocumento prediseñado o a uno en blanco, aca te coloco el codigo ojala te sirva.
'ESTE ES PARA ENVIAR DE WORD A VB6 Private Sub Form_Load()
'Creamos el objeto Word y abrimos en el documento
Set WordApp = New Word.Application
Set WordDoc = WordApp.Documents.Open("c:\mis DOcumentos\nombre del archivo.doc")
'seleccionamos todo el texto del documento
WordDoc.Select
'lo pasamos a una variable
'Es válida cualquiera de las dos siguientes sentencias.
'cTexto1 = WordApp.Selection.Text
cTexto1 = WordApp.Application.Selection.Text
'le quitamos el cero binario del final (marcador de fin de cadena de c)
cTexto1 = Left(cTexto1, Len(cTexto1) - 1)
Text1.Text = cTexto1
'cerramos el documento sin grabarlo
WordDoc.Close False
'liberamos el objeto
Set WordDoc = Nothing
'cerramos word
WordApp.Quit
'liberamos el objeto
Set WordApp = Nothing
End Sub

'CON ESTE EJEMPLO PODEMOS ENVIAR TEXTO A WORD A TRAVES DE VB

Option Explicit

Private Sub Command1_Click()
Dim MSWord As New Word.Application
Dim Documento As Word.Document
Dim Parrafo As Paragraph


Set Documento = MSWord.Documents.Add
Set Parrafo = Documento.Paragraphs.Add

Parrafo.Range.InsertAfter Text1.Text

MSWord.Visible = True
End Sub

con eso podras hacer operaciones de texto con word desde visual basic, ahora se puede ocpupar el excell que nos permite trabajar con planillas electronicas desde VB6, si necesitas mas ayuda solo avisame y suerte
CAROLA77

Re: es que

Publicado: Sab Abr 07, 2007 12:43 am
por EPICA
chicho2004 escribió:es que lo unico que he hecho es llamar los campos de una mdb y eso es facil se hace con un ayudante pero lo que necesito es ponerle una platilla que diga bla bla blaaa y en cierto campos sea alimentado por los datos que ingresé en el programita de vb6 y no se como hacer eso...

No me abandones siento que solo es el empujon que necescito ayudame si
No te abandonare, deja analizar (tu tmb puedes hacerlo) lo que comenta Carola77 y si funciona lo aplicas, sino te explico lo de CReports :wink:

Ah y gracias Carola77 buen tip :D

EDIT: si funciona ya lo probe pero te crea una hoja nueva lo del ejemplo. y si se pudiera editar una ?

muchas gracias Carola77

Publicado: Sab Abr 07, 2007 2:16 am
por chicho2004
Carola77 estoy probando a ver si me funciona pero desde ya muchiiiisiiiiimaaaaaaaassssss gracias.

ya probe el ejemplo de Carola77

Publicado: Sab Abr 07, 2007 2:53 am
por chicho2004
funciona muy bien pero como dice EPICa como seria para editar?

miren talvez si les explico mejor puedan tener mas claro lo que deseo... yo tengo un documento de word donde contiene informacion (yo le llamo machote o plantilla) esa informacion es como una carta donde yo ocupo ciertos campos como por ejemplo el nombre, la direccion, el telefono etc y lo modifico segun mis necesidades pero el resto de la carta es lo mismo solo cambia esos campos para otra carta... Me entienden es como si tuviera una tarjeta de invitacion y solo cambio el nombre de la persona a quien se lo dirijo pero el resto queda igual... ademas una vez cambiado los campos poder salvar el documento de word por cada carta hecha con un nombre que me indique a que persona se refiere ese documento.

Creo que ahora si he sido bien explicito.

Nuecamente muchas gracias por su ayuda y paciencia conmigo

las personas mas cargas (super buena onda) Carola77 y EPICA

Publicado: Sab Abr 07, 2007 3:19 am
por EPICA
Segun lo que comentas es mas efectivo un reporte y una basesilla de datos en Access. Asi creas una plantilla/machote y al momento de ejecucion se crean mas hojas con los campos dados, y de ahi puedes imprimirlo, pasarlo a PDF mediante una impresora de esas que te pasan a PDF, pasarlo a Excel y creo k hasta a Word desde el mismo reporte de Crystal.
Veremos k sale estoy al pendiente y si tgo tiempo te mando un ejemplo xD o si lo puedes hacer pues nos avisas.

Publicado: Vie Abr 13, 2007 7:00 am
por Carola77
Hola.
Si ese ejemplo enviaba una hoja en blanco, pero ya le pase a chicho uno que enviaba a una planilla con datos y formato y toda la cosa si necesitan que lo publique avisenme y lo hago, (por si te interesa EPICA) asi entre todos lo modificamos asi aprendimos.
Suerte a todos y me avisan si algo se les ocurre.

pd: no tenia idea que habian impresoras que toman docus y los llevan a word, excell o pdf, no ven todo los dias se aprende algo nuevo, voy a buscar info de eso. Gracias por enseñarme algo nuevo

Publicado: Vie Abr 13, 2007 1:22 pm
por EPICA
Carola77 escribió:Hola.
Si ese ejemplo enviaba una hoja en blanco, pero ya le pase a chicho uno que enviaba a una planilla con datos y formato y toda la cosa si necesitan que lo publique avisenme y lo hago, (por si te interesa EPICA) asi entre todos lo modificamos asi aprendimos.
Suerte a todos y me avisan si algo se les ocurre.
Ke bien, y yo que pensaba que chicho se habia frustrado jejeee. Si puedes poner el resultado o el codigo no estaria mal.
Carola77 escribió:pd: no tenia idea que habian impresoras que toman docus y los llevan a word, excell o pdf, no ven todo los dias se aprende algo nuevo, voy a buscar info de eso. Gracias por enseñarme algo nuevo
Esque el Crystal Reports tiene una opcion (Boton Sobrecito) que te pasa a Word, Excell, y otras cosas, pero no es impresora es una opcion, Pero para PDF puedes instalarte un software (como PrimoPDF) que emula una impresora y te crea un archivo PDF.

Saludos Carola77 xD

VISUAL BASIC Y WORD

Publicado: Mar Abr 17, 2007 6:51 am
por Carola77
Aca coloco el codigo que se utiliza para trabajar el visual basic + el word, es decir tenemos variables en visual basic y la traspazamos a un documento en word, este ejemplo, diseñe el contrato en visual basic y lo envie a word, con formato y todo, pero tambien sirve para uno ya diseñado, en este caso era un subcontrato de una constructora en la que ingresabamos la fecha , nombre contratista, montos, fecha termnino, etc. Yo entendi la forma de trabajarlo de esta forma que les explicare ahora asi es mas facil comprenderlo, podemos decir que el word es similas al excell ya que lo podemos trabajar como filas y columnas en donde colocar en una posicion exacta la letra o variable que enviamos desde visual basic, o simplemente contando espacios entre lineas o parrafos.
Aca llamo el documento ubicado en mis documentos el titulo y otras partes ya tieen formato, aca envio el resto del documento y lo formateo, este documento queda en 2 hojas completas y con formatos. OJALA LO ENTIENDAN, SINO PREGUNTENME Y YO LES SACO LAS DUDAS
:lol:
Option Explicit
' DEFINICION DE VARIABLES CONTRATO

Public mivalor, XVALOR, Valor, SW_RUT
Public XTITULO, XPRIMERO, XSEGUNDO, XTERCERO, XCUARTO
Public XQUINTO, XSEXTO, XSEPTIMO, XOCTAVO, XNOVENO
Public XDECIMO, XUNDECIMO, XDUODECIMO, XTRECE, XCATORCE, linea
Public XVALORES1, XVALORES2, linea2, fecha, nombre, Rut
Public XPRIMERO1, XPRIMERO2, XDETALLE1, XDETALLE2, XDETALLE3
Public PNETO, PIVA, Total, PIE1_A, PIE1_B, PIE2_A, PIE2_B, LINEA1, LI2,
PTOTAL, PIE3_A, PIE3_B
Public tempo, PRESUPUESTO, Scontrato, SOLO_RUT, PNETO2

'LLAMADA DEL WORD
Dim DOCU As New Word.Application
Dim Parrafo As Paragraph
Dim Documento As Word.Document
Public CONCATENA


'asignacion del contrato
Private Sub cmdcontrato_Click()
linea = Chr(13): linea2 = Chr(13)
fecha = Str(Date): nombre = lblTextoNombre
Rut = mskIdContratista:
PRESUPUESTO = lblMOTextoTotal ' total presupuesto
PTOTAL = PNETO2
Call cal_iva
Call CARGAR_DOCUMENTO
Set Documento = DOCU.Documents.Open("c:\mis documentos\Proas_formato.doc")
Set Parrafo = Documento.Paragraphs.Add

XTITULO = "SUB CONTRATO DE CONSTRUCCION"
Parrafo.Range.InsertBefore XTITULO
Parrafo.Alignment = wdAlignParagraphCenter
Parrafo.Range.InsertAfter linea + linea2
Parrafo.Range.InsertAfter linea + linea2
Parrafo.Range.InsertAfter " " + PIE2_B
Parrafo.Range.InsertAfter linea
Parrafo.Range.InsertAfter " " + PIE2_A
Parrafo.Range.InsertAfter linea
Parrafo.Range.InsertAfter " " + LINEA1
Parrafo.Range.InsertAfter linea + linea2
Parrafo.Range.InsertAfter linea

Parrafo.Alignment = wdAlignParagraphCenter
Parrafo.Range.InsertAfter " " + PIE1_A + " " + " " + PIE3_A
Parrafo.Range.InsertAfter linea + linea2
Parrafo.Range.InsertAfter PIE1_B + " " + PIE1_B
Parrafo.Range.InsertAfter linea + linea2
Parrafo.Range.InsertAfter LINEA1 + " " + LI2
Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XCATORCE
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2
Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XTRECE
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XDUODECIMO
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XUNDECIMO
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XDECIMO
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XNOVENO
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XOCTAVO
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XSEPTIMO
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XSEXTO
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XQUINTO
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XCUARTO
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XDETALLE3 + Str(PTOTAL)
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XDETALLE2 + Str(PIVA)
Parrafo.Range.InsertAfter linea + linea2
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter XDETALLE1 + Str(PNETO)
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XTERCERO + Str(PTOTAL) + " " + "Según detalle anexo. Valor con I.V.A."
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XSEGUNDO
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XPRIMERO + " " + Scontrato + " " + XPRIMERO1 + " " + "SAN CLEMENTE" + " " + XPRIMERO2
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea + linea2

Parrafo.Range.InsertAfter XVALORES1 + " " + fecha + " " + XVALORES2 + " " + nombre + " RUT" + " " + Rut
Parrafo.Alignment = wdAlignParagraphDistribute

Parrafo.Range.InsertAfter linea
DOCU.Visible = True
cmdcontrato.Enabled = False
End Sub

Private Sub CARGAR_DOCUMENTO()
XPRIMERO = "PRIMERO: El subcontratista se compromete a realizar los trabajos correspondiente a"
XPRIMERO1 = "en la obra ubicada en la ciudad de"
XPRIMERO2 = "conforme a los planos y especificaciones técnicas definidas por la constructora y presupuesto presentado por el contratista, documentos que pasan a formar parte del presente contrato"
XSEGUNDO = "SEGUNDO :Los trabajos deben iniciarse el, en todo caso estos trabajos deberán estar terminados y recibidos con un Acta de Entrega conforme, debidamente firmada por el Constructor de la Obra el . el atraso en la entrega de estos trabajos hará incurrir al Contratista en una multa de 5/1000 (CINCO POR MIL), por cada dia de atraso por el monto referido al valor del contrato."
XTERCERO = "TERCERO : El valor del presente contrato asciende a la suma de $ "
XCUARTO = "CUARTO : Los trabajos serán efectuados por el contratista, personal de su dependencia, siendo de su exclusiva responsabilidad, el pago de las correspondientes remuneraciones y el cumplimiento de las leyes sociales y previsiones vigentes, no existiendo vinculo alguno entre dicho personal y la constructora." + "El contratista deberá responder por los daños que se ocasionen en los bienes de la Empresa o de otros subcontratistas o de la Obra en general, producto de descuidos o trabajos negligentes realizados por él o su personal, y será obligatorio el uso de los Implementos de seguridad, los cuales deben ser proporcionados por el subcontratista."
XCUARTO = XCUARTO + "El contratista deberá cumplir con lo dispuesto en el decreto N° 50 de la ley 16.744 sobre el Derecho al Saber y cumplir con las demás normas y reglamentos que la ley 16.744 de accidentes del trabajo y enfermedades profesionales dicte."
XCUARTO = XCUARTO + "Cuando tenga mas de veinte y cinco trabajadores en la obra, deberá formar un comité paritario de higiene y seguridad de acuerdo a lo estipulado en el decreto supremo N° 54 de la ley N° 16.744."
XCUARTO = XCUARTO + "Queda estrictamente prohibido al contratista retirar cualquier material, maquinaria, herramienta o bien en general, sin previo visto bueno de la Constructora."
XQUINTO = "QUINTO : En garantía por la buena ejecución de los trabajos contratados, la Constructora retendrá el 5% de todos los pagos dispuestos en la cláusula tercera precedente, valor que será restituido al subcontratista, una vez recibido los certificados de recepción de los organismos pertinentes o cuando la constructora recepcione los trabajos, según corresponda, a juicio de esta última."
XSEXTO = "SEXTO : El no cumplimiento por parte del subcontratista de algunas de las obligaciones que le impone el presente contrato y en especial las referente al plazo mismo, el no cumplimiento de las leyes laborales vigentes y del no uso de los implementos de seguridad, darán derecho a la Constructora a poner termino anticipado al Contrato, en cuyo caso el subcontratista no tendrá derecho a indemnización alguna."
XSEPTIMO = "SÉPTIMO : En caso que el Contratista no diera cumplimiento a las obligaciones que le impone este contrato con la rapidez, diligencia y competencia que se requiere, a juicio del Constructor o paralicen las obras y trabajos sin motivo justificado durante 2 DIAS, el Constructor podrá resolver el presente contrato y hacer efectivas las garantías o retenciones que obren en su poder."
XOCTAVO = "OCTAVO : aun después de la Recepción Final conforme de todos los trabajos a que se refiere este contrato, el contratista continuara responsable durante , de la buena calidad de los materiales y buen funcionamiento de las instalaciones, correspondiente al árbitro que se designa en la cláusula correspondiente, determinar las indemnizaciones que eventualmente tuviese que pagar por falta o deficiencia, siempre que ellas no se deban al mal manejo o causas en las instalaciones o trabajos realizados."
XNOVENO = "NOVENO : El contratista no podrá ejecutar ninguna obra que estime extraordinaria sin previo visto bueno por escrito del Gerente de Operaciones, Señor Fernando Landero Moraga."
XDECIMO = "DECIMO :EL CONTRATISTA DECLARA CONOCER LAS ESPECIFICACIONES Y LOS PLANOS DE LOS SEÑORES ARQUITECTOS CONSULTORES."
XDECIMO = XDECIMO + "EL CONTRATISTA DECLARA HABER CONSIDERADO TODOS LOS MONTOS DE OBRAS DEL PROYECTO, POR LO QUE NO SE ACEPTARA NINGUNA OBRA EXTRA, QUE EL POR OLVIDO NA HAYA CONSIDERADO EN SU PRESUPUESTO."
XDECIMO = XDECIMO + "EL CONTRATISTA VELARA EN TODO MOMENTO POR LA SEGURIDAD DE SUS OPERARIOS HACIENDO CUMPLIR EN TODO LAS NORMAL Y REGLAS DE SEGURIDAD."
XUNDECIMO = "UNDECIMO :Se adjunta el Reglamento interno de higiene y seguridad de la Constructora Proas, documento que pasa hacer parte de este contrato."
XDUODECIMO = "DUODECIMO : El contratista, al momento de firmar el presente contrato deberá adjuntar certificado de Inspección del Trabajo y Dicom."
XTRECE = "DECIMOTERCERO : Para todos los efectos a que haya lugar, las partes fijan domicilio en la Ciudad de Talca, y se someten a la jurisdicción de sus tribunales."
XCATORCE = "DECIMOCUARTO : El presente contrato y su anexo se firma en tres copias de igual tenor, quedando dos en poder de la Constructora y una en poder del subcontratista."
XVALORES1 = "En Ciudad,"
XVALORES2 = "entre, por una parte, Constructora Proas Ltda. RUT XX.XXX.XXX-X, representada por NNNNNN NNNNNN CI N° X.XXX.XXX-X y por NNNNNN NNNN NNNNNN,"
XVALORES2 = XVALORES2 + "cédula de identidad N°XX.XXX.XXX-X, ambos domiciliados en calle X Oriente 924 XXX, en adelante la Constructora, y por la otra"
XDETALLE1 = "NETO : "
XDETALLE2 = " I.V.A : "
XDETALLE3 = " TOTAL : "
PIE1_A = "XXXXXX XXXXXX X."
PIE2_A = nombre
PIE1_B = "p.p Constructora XXX Ltda."
PIE2_B = "Contrastista"
LINEA1 = "-------------------------------------"
LI2 = "-----------------------------------------"
PIE3_A = "XXXXXX XXXXXX X."
PIE3_B = "p.p Cstructora XXXX Ltda."
End Sub

Private Sub cal_iva()
PNETO2 = PNETO * 1.19
PIVA = PNETO2 - PNETO
PTOTAL = PNETO + PIVA
End Sub

Publicado: Mar Abr 17, 2007 2:58 pm
por EPICA
:shock: . Excelente Carola77