Como acceder a datos de excel con visual

Necesito saber como puedo acceder a datos de excel con visual basic. Quiero acceder a informaciones especificas como el texto de una celda o fechas o cantidades. Y luego poder escribir otras cantidades o textos en otro documento también en celdas especificas. ¿Me podrías ayudar? Gracias

1 Respuesta

Respuesta
1
Revisa el siguiente segmento de código y adáptalo a lo que requieras.
Saludos
David Enciso
'************************************************
'* *
'* An Example of VB creating an Excel workbook *
'* *
'* Written by A.Guppy *
'* *
'************************************************
Option Explicit
Dim objExcel As Object ' Excel application
Dim objBook As Object ' Excel workbook
Dim objSheet As Object ' Excel Worksheet
Private Sub cmdCargaExcel_Click()
Dim strSql As String
Dim nFile As Integer
Dim redi As String
Dim strPath As String
Dim intRen As Integer
Dim intCol As Integer
Dim strRuta As String
Dim sPpto As String
Dim sAnioVig As String
Dim sEntidad As String
Dim sPrograma As String
Dim sSubprograma As String
Dim sProyecto As String
Dim sUnidad As String
Dim sPartida As String
Dim sSubpartida As String
Dim sFuncion As String
Dim sSubfuncion As String
Dim iAnioOperacion As Integer
Dim sdigid As String
Dim sdigver As String
Dim dFechappto As String
Dim SaldoEne As Double
Dim SaldoFeb As Double
Dim SaldoMar As Double
Dim SaldoAbr As Double
Dim SaldoMay As Double
Dim SaldoJun As Double
Dim SaldoJul As Double
Dim SaldoAgo As Double
Dim SaldoSep As Double
Dim SaldoOct As Double
Dim SaldoNov As Double
Dim SaldoDic As Double
Dim SaldoTot As Double
Dim SaldoPro As Double
Dim iLeidos As Integer
Dim iGrabados As Integer
Dim Sql As String
strPath = "C:\pptonuevo\"
strPath = strPath & Trim(txtRuta.Text) & ".xls"
Set objExcel = CreateObject("excel.application") 'Starts the Excel Session
' objExcel.Application.Visible = True
objExcel.Workbooks.Open FileName:=strPath, UpdateLinks:=0, ReadOnly:=False, editable:=True
iLeidos = 0
iGrabados = 0
For intRen = 1 To 1500
If Trim$(objExcel.Application.Cells(intRen, 1).Value) = "" Then
Exit For
End If
iLeidos = iLeidos + 1
'lee renglones del archivo
sPpto = Trim$(objExcel.Application.Cells(intRen, 1).Value)
sAnioVig = Trim$(objExcel.Application.Cells(intRen, 2).Value)
sEntidad = Trim$(objExcel.Application.Cells(intRen, 3).Value)
sPrograma = Trim$(objExcel.Application.Cells(intRen, 4).Value)
sSubprograma = Trim$(objExcel.Application.Cells(intRen, 5).Value)
sProyecto = Trim$(objExcel.Application.Cells(intRen, 6).Value)
sUnidad = Trim$(objExcel.Application.Cells(intRen, 7).Value)
sPartida = Trim$(objExcel.Application.Cells(intRen, 8).Value)
sSubpartida = Trim$(objExcel.Application.Cells(intRen, 9).Value)
sFuncion = Trim$(objExcel.Application.Cells(intRen, 10).Value)
sSubfuncion = Trim$(objExcel.Application.Cells(intRen, 11).Value)
iAnioOperacion = Trim$(objExcel.Application.Cells(intRen, 12).Value)
sdigid = Trim$(objExcel.Application.Cells(intRen, 13).Value)
sdigver = Trim$(objExcel.Application.Cells(intRen, 14).Value)
dFechappto = Trim$(objExcel.Application.Cells(intRen, 15).Value)
SaldoEne = Trim$(objExcel.Application.Cells(intRen, 16).Value)
SaldoFeb = Trim$(objExcel.Application.Cells(intRen, 17).Value)
SaldoMar = Trim$(objExcel.Application.Cells(intRen, 18).Value)
SaldoAbr = Trim$(objExcel.Application.Cells(intRen, 19).Value)
SaldoMay = Trim$(objExcel.Application.Cells(intRen, 20).Value)
SaldoJun = Trim$(objExcel.Application.Cells(intRen, 21).Value)
SaldoJul = Trim$(objExcel.Application.Cells(intRen, 22).Value)
SaldoAgo = Trim$(objExcel.Application.Cells(intRen, 23).Value)
SaldoSep = Trim$(objExcel.Application.Cells(intRen, 24).Value)
SaldoOct = Trim$(objExcel.Application.Cells(intRen, 25).Value)
SaldoNov = Trim$(objExcel.Application.Cells(intRen, 26).Value)
SaldoDic = Trim$(objExcel.Application.Cells(intRen, 27).Value)
SaldoTot = Trim$(objExcel.Application.Cells(intRen, 28).Value)
SaldoPro = Trim$(objExcel.Application.Cells(intRen, 29).Value)
Sql = "insert into det_sad_presupuesto "
Sql = Sql & "(presupuesto,aniovig,entidad,programa,subprograma,proyecto,"
Sql = Sql & "unidad,partida,subpartida,funcion,subfuncion,anio_operacion,"
Sql = Sql & "digid,digver,f_ppto,"
Sql = Sql & "ppto_ene,ppto_feb,ppto_mar,ppto_abr,"
Sql = Sql & "ppto_may,ppto_jun,ppto_jul,ppto_ago,"
Sql = Sql & "ppto_sep,ppto_oct,ppto_nov,ppto_dic,"
Sql = Sql & "ppto_total,ppto_provision)"
Sql = Sql & " values ("
Sql = Sql & "'" & sPpto & "',"
Sql = Sql & "'" & sAnioVig & "',"
Sql = Sql & "'" & sEntidad & "',"
Sql = Sql & "'" & sPrograma & "',"
Sql = Sql & "'" & sSubprograma & "',"
Sql = Sql & "'" & sProyecto & "',"
Sql = Sql & "'" & sUnidad & "',"
Sql = Sql & "'" & sPartida & "',"
Sql = Sql & "'" & sSubpartida & "',"
Sql = Sql & "'" & sFuncion & "',"
Sql = Sql & "'" & sSubfuncion & "',"
Sql = Sql & iAnioOperacion & ","
Sql = Sql & "'" & sdigid & "',"
Sql = Sql & "'" & sdigver & "',"
Sql = Sql & "'" & dFechappto & "',"
Sql = Sql & SaldoEne & ","
Sql = Sql & SaldoFeb & ","
Sql = Sql & SaldoMar & ","
Sql = Sql & SaldoAbr & ","
Sql = Sql & SaldoMay & ","
Sql = Sql & SaldoJun & ","
Sql = Sql & SaldoJul & ","
Sql = Sql & SaldoAgo & ","
Sql = Sql & SaldoSep & ","
Sql = Sql & SaldoOct & ","
Sql = Sql & SaldoNov & ","
Sql = Sql & SaldoDic & ","
Sql = Sql & SaldoTot & ","
Sql = Sql & SaldoPro & ")"
If ModificaRegistro(Sql) Then
iGrabados = iGrabados + 1
Else
MsgBox "No se logró realizar el movimiento..."
End If
Next
objExcel.Quit
Set objSheet = Nothing
Set objBook = Nothing
Set objExcel = Nothing
MsgBox ("Reg. Leidos " & iLeidos & " Reg. Grabados " & iGrabados)
End Sub
Private Sub cmdSalir_Click()
Unload Me
End Sub
Private Sub Form_Load()
Call Centra_Forma(frmCargaPresupuesto, frmMDICP!sspPanelMdi, 0)
txtRuta.SetFocus
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas