none
Problema con guardado de info en Excel en Visual Studio RRS feed

  • Pregunta

  • Tengo el siguiente codigo para capturar datos a un disco duro en red:

    Imports Excel = Microsoft.Office.Interop.Excel

    Public Class Form1
        Private Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button1.Click

            If area.Text = "Area" Then
                MsgBox("Ingresa Area", MsgBoxStyle.OkOnly, "xlSheet")
            Else
                'On Error GoTo ErrHandler
                Dim xlApp As Excel.Application
                Dim xlWorkBook As Excel.Workbook
                Dim xlSheet As Excel.Worksheet

                xlApp = New Excel.Application()
                xlWorkBook = xlApp.Workbooks.Open("P:\CAPTURA PRODUCTIVIDAD MGM\Book1.xlsx")
                xlSheet = xlWorkBook.Worksheets("Hoja1")

                xlSheet.Range("a2").End(Excel.XlDirection.xlDown).Offset(1, 0).Value = Label5.Text

                If area.Text = "FLEXOGRAFIA" Then
                    xlSheet.Range("c2").End(Excel.XlDirection.xlDown).Offset(1, 0).Value = tar1.Text
                    xlSheet.Range("d2").End(Excel.XlDirection.xlDown).Offset(1, 0).Value = tar2.Text
                    xlSheet.Range("e2").End(Excel.XlDirection.xlDown).Offset(1, 0).Value = ord1.Text
                    xlSheet.Range("f2").End(Excel.XlDirection.xlDown).Offset(1, 0).Value = ord2.Text
                End If

                If area.Text = "OFFSET" Then
                    xlSheet.Range("g2").Offset(1, 0).Value = tar1.Text
                    xlSheet.Range("h2").Offset(1, 0).Value = tar2.Text
                    xlSheet.Range("i2").Offset(1, 0).Value = ord1.Text
                    xlSheet.Range("j2").Offset(1, 0).Value = ord2.Text
                End If

                If area.Text = "SERIGRAFIA" Then
                    xlSheet.Range("k2").Value = tar1.Text
                    xlSheet.Range("l2").Value = tar2.Text
                    xlSheet.Range("m2").Value = ord1.Text
                    xlSheet.Range("n2").Value = ord2.Text
                End If

                If area.Text = "KITS" Then
                    xlSheet.Range("o2").Value = tar1.Text
                    xlSheet.Range("p2").Value = tar2.Text
                    xlSheet.Range("q2").Value = ord1.Text
                    xlSheet.Range("r2").Value = ord2.Text
                End If

                MsgBox("Guadado Exitoso", MsgBoxStyle.OkOnly, "xlSheet")
                xlWorkBook.Save()
                xlWorkBook.Close()

                xlApp.Quit()
                releaseObject(xlApp)
                releaseObject(xlWorkBook)
                releaseObject(xlSheet)

                Me.Close()
            End If

            'ErrHandler:
            'MsgBox("Imposible Guardar", vbCritical, "Error!")
            'Me.Close()

        End Sub

        Private Sub releaseObject(ByVal obj As Object)
            Try
                System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
                obj = Nothing
            Catch ex As Exception
                obj = Nothing
            Finally
                GC.Collect()
            End Try
        End Sub

        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Label5.Text = Date.Now.Date
        End Sub
    End Class

    Pero me da el error

    Excepción de HRESULT: 0x800A03EC

    He tratado con muchos tutoriales pero ni uno ha podido solucionar mi probema y lo necesito para automatizar capturas en mi trabajo.

    jueves, 30 de mayo de 2013 16:36

Respuestas

  • Hola!

    este es un foro de Office y por tanto de VBA, por lo que es poco probable que puedas recibir ayuda sobre Visual Studio, te sugiero que la busques en un foro mas adecuado.


    Saludos a todos desde Huelva
    http://www.mvp-access.es/emilio/

    • Marcado como respuesta Xavier_B jueves, 30 de mayo de 2013 20:50
    jueves, 30 de mayo de 2013 17:25