Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: E N T E R en Junio 27, 2013, 06:47:17 pm
-
Tengo la siguiente planilla en excel ya con los campos definidos TIPO, MARCA, MODELO, NºCHASSIS, COMBUSTIBLE, AÑO Nº MOTOR. hay una manera desde vb6 completar esos campos y imprimir el archivo.
(http://www.mediafire.com/convkey/90ce/a1fiacj6p7wuoqj4g.jpg) (http://www.mediafire.com/view/a1fiacj6p7wuoqj/planilla-excel.jpg)
O sea cada ves que pulse un boton en VB que abra el archivo y reemplazar los datos por cada campo correspondiente E imprimir.
-
HOLA!!!
Yo uso esta funcion que genera e imprime:
Private Sub Excel()
Set EX = New Excel.Application
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
Dim celda As Excel.Range
Dim cadena1 As String
Set wb = EX.Workbooks.Add("\\Server\Archivos de la Red\SISTEMA COBRANZAS\RECIBO.xlt") 'archivo a abrir
Set ws = wb.Worksheets(1) 'posicion de hoja
Set celda = ws.Range("B12") 'posicion en celda a escribir
celda.Value = CONCEPTOMOD ' asignacion de valor
Set celda = ws.Range("D12") 'posicionar de nuevo lacelda
celda.Value = Mid(UCase(FECHAMOD), 1, 3) & Mid(UCase(FECHAMOD), 7, 4) 'asignacion de valor
Set celda = ws.Range("E12") 'posicionar de nuevo lacelda
celda.Value = DINEROMOD ' asignacion de valor
Set celda = ws.Range("C8") 'posicionar de nuevo lacelda
celda.Value = CLIENTEMOD ' asignacion de valor
Dim rr As String
Open App.Path & "\BDS\NUMERO.REC" For Input As #1
Do Until EOF(1)
Input #1, rr
RECIBOMOD = rr
Loop
Close #1
Set celda = ws.Range("G2")
celda.Value = RECIBOMOD
Open App.Path & "\BDS\NUMERO.REC" For Output As #1
Write #1, (RECIBOMOD + 1)
Close #1
PR = MsgBox("QUIERE IMPRIMIR UN RECIBO?", vbYesNo, "IMPUTACION DE PAGOS") 'consulta si imprimir
If PR = 6 Then
ws.PrintOut 'imprimir
End If
wb.SaveCopyAs App.Path & "\RECIBOS\" & Form6.Caption & " - RECIBO N. " & RECIBOMOD & ".xls"
Application.DisplayAlerts = False
wb.SaveAs "C:\" & Form6.Caption & " - RECIBO N. " & RECIBOMOD & ".xlt", 1
wb.Close
Kill "C:\" & Form6.Caption & " - RECIBO N. " & RECIBOMOD & ".xlt"
Application.DisplayAlerts = True
End Sub
GRACIAS POR LEER!!!
-
Option Explicit
Private Sub Form_Load()
Dim Obj_Excel As Object
Dim Obj_Libro As Object
Dim Obj_Hoja As Object
Dim Path As String
Path = "C:\Users\Windows\Desktop\Libro1.xlsx"
' -- Crear nueva instancia de Excel
Set Obj_Excel = CreateObject("Excel.Application")
' -- Agregar nuevo libro
Set Obj_Libro = Obj_Excel.Workbooks.Open(Path)
' -- Referencia a la Hoja activa ( la que añade por defecto Excel )
Set Obj_Hoja = Obj_Excel.ActiveSheet
Obj_Hoja.Cells(1, 1) = "Hola"
Obj_Hoja.Cells(1, 2) = "Mundo"
Obj_Hoja.PrintOut _
From:=1, _
To:=1, _
Copies:=1, _
Preview:=False, _
ActivePrinter:="", _
PrintToFile:=False, _
Collate:=True, _
PrToFileName:="", _
IgnorePrintAreas:=False
Obj_Libro.save
Obj_Libro.Close
Set Obj_Hoja = Nothing
Set Obj_Libro = Nothing
Set Obj_Excel = Nothing
End Sub