الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تشغيل Excel Object مع ويندوز 8

بدأه aymankrosh في 23 مارس 2013 · 0 رد · 403 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم ...

لدي برنامج معمول على VB.Net .. أحتاج أن أقرأ فيه ملف Excel  في الذاكرة .. علما أن ملف الإكسل هذا خلاياه تحوي روابط كما في الشكل رقم 1.

كان البرنامج يعمل بدون أي مشاكل حتى جربته على ويندوز 8 .. فصار البرنامج لدي لا يحدث روابط الاكسل السابق ذكرها في الصورة رقم 1.

هل من مساعدة؟

 

للعلم أني عرفت المتغيرات كما يلي:

 

Public Excelapp As New Excel.Application


Public myWorkBookCollection As Excel.Workbooks


Public xlwkbook As Excel.Workbook


Public WithEvents xlsheet As Excel.Worksheet



 

 

وفي Form1_Load

myWorkBookCollection = Excelapp.Workbooks

xlwkbook = myWorkBookCollection.Open(Application.StartupPath & "\" & "excel_file.xls", True, True, , , , , , , False, , , , False)

Excelapp.AutoRecover.Enabled = False

xlsheet = CType(xlwkbook.Worksheets(1), Excel.Worksheet)

xlsheet.Calculate()

Excelapp.Calculation = Excel.XlCalculation.xlCalculationAutomatic

Excelapp.AutoPercentEntry = False

Excelapp.AutoRecover.Enabled = False

 

وعند الحدث التالي وضعت:

Private Sub xlsheet_Calculate() Handles xlsheet.Calculate
        Try
            Dim iRow As Integer
            iRow = 2
            Dim xldata() As Object


            ReDim xldata(xlsheet.Range("A1").End(Excel.XlDirection.xlToRight).Column - 1)
            For Each dr As DataRow In DAL.dTset.Tables(0).Rows
                For a As Integer = 1 To UBound(xldata)
                    Try
                        xldata(a) = xlsheet.Cells.Item(iRow, a + 1).value
                    Catch ex As Exception
                    End Try
                Next a
                Try
                    dr.BeginEdit()
                    dr.ItemArray = xldata
                    dr.EndEdit()
                    dr.AcceptChanges()

                Catch ex As Exception
                End Try
                iRow += 1
            Next

        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

post-260354-0-18899500-1364035984_thumb.

تم تعديل هذه المشاركة بواسطة aymankrosh في 23 مارس 2013 في 13:58

مواضيع مشابهة