imprimir en word desde vb6 via automatizacion
Publicado por Luis (1 intervención) el 07/03/2018 15:23:39
Tengo que retocar algo muy antiguo, necesito que imprima en pantalla los cumpleaños de los empleados con un fondo de globos y esas cosas, una imagen que ocupa todo el fondo ( 100% ) y es un jpg. La idea es presentarlo en pantalla y luego mandar el archivo por mail, no se imprimiría a papel . La limitación es que es en Visual 6 y Word 2003. Estuve buscando informacion sobre los objetos de word 2003 y ya casi no hay . Tuve un problema en mi compu al referenciar oficce 11.0 , por ello debí usar el word como objeto. Copio el código , funciona casi, armé una plantilla con la imagen y desde vb escribo sobre ella. El tema es que cuando imprimo , dependiendo la cantidad de registros o algo que no entiendo ... me ubica la imagen de fondo a veces bien y otras corrrida. Me ayudan a perfeccionarlo ?
Quisiera que lo que le envío sea independiente al diseño de la pagina , o sea, que va con una imagen jpg al 100% de fondo.
Quisiera que lo que le envío sea independiente al diseño de la pagina , o sea, que va con una imagen jpg al 100% de fondo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Private Sub Mostrar()
Dim oWord As Object 'Word.Application
Dim oDoc As Object 'Word.Document
Dim otable As Object
Dim iRow As Integer
Set oWord = CreateObject("Word.Application")
oWord.Options.ReplaceSelection = False
Set oDoc = oWord.Documents.Add("N:\APP\CUMPLES\IMAGENES\basecumple2.dot")
With oDoc.PageSetup
.Orientation = wdOrientPortrait
.PaperSize = wdPaperA4
.VerticalAlignment = wdAlignVerticalCenter
End With
With poOraDynaset
Set otable = oDoc.Tables.Add(oDoc.Bookmarks("\endofdoc").Range, .RecordCount, 3)
If Not .RecordCount = 0 Then .MoveFirst
Do Until .EOF
iRow = iRow + 1
otable.Cell(iRow, 1).Range.Text = MyCapitalize(CStr(.Fields("NOMBRE_COMPLETO")))
otable.Cell(iRow, 2).Range.Text = CStr(.Fields("SECTOR"))
otable.Cell(iRow, 3).Range.Text = Format(CStr(.Fields("FECHA_NACIMIENTO")), "dd/mmm")
.MoveNext
Loop
End With
On Local Error Resume Next
otable.Columns(1).Width = 200
otable.Columns(2).Width = 200
otable.Columns(3).Width = 50
otable.AutoFormat wdTableFormatGrid2, False, False, True, False, False, False, True, True, False
oDoc.SaveAs "c:\windows\escritorio\Cumpleanios_" & Me.cmbMes.Text
oWord.Visible = True
Valora esta pregunta


0