منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : اريد تخزين عدة شيتات -sheet- بعد التعديل من sheet1
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
افيدوني جزاكم الله كل الخير والله يرحم والديكم

في ملف اكسال واحد اريد تخزين عدة شيتات -sheet- بعد التعديل من sheet1
قمت بكل الإجراءات والتصدير من vb الى excel بقي لي عميلة التخزين على شكل sheet  جديدة باسم جديد
لا أفهم ما تريده بالضبط 

لكن هذا الكود ممكن يفيدك 

كود :
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
       Dim xlApp As Excel.Application = New Microsoft.Office.Interop.Excel.Application()

       If xlApp Is Nothing Then
           MessageBox.Show("Excel is not properly installed!!")
           Return
       End If

       xlApp.DisplayAlerts = False
       Dim filePath As String = "d:\test.xlsx"
       Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Open(filePath, 0, False, 5, "", "", _
        False, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", True, False, 0, _
        True, False, False)

       Dim worksheets As Excel.Sheets = xlWorkBook.Worksheets
       Dim xlNewSheet = DirectCast(worksheets.Add(worksheets(1), Type.Missing, Type.Missing, Type.Missing), Excel.Worksheet)
       xlNewSheet.Name = "newsheet"
       xlNewSheet.Cells(1, 1) = "New sheet content"

       xlNewSheet = xlWorkBook.Sheets("sheet1")
       xlNewSheet.Select()

       xlWorkBook.Save()
       xlWorkBook.Close()

       releaseObject(xlNewSheet)
       releaseObject(worksheets)
       releaseObject(xlWorkBook)
       releaseObject(xlApp)

       MessageBox.Show("New Worksheet Created!")
   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

End Class

اذا لم يكن به ما تريد يرجى ارفاق مثال مصغر من مشروعك
(27-05-18, 03:14 PM)ferouk كتب : [ -> ]في ملف اكسال واحد اريد تخزين عدة شيتات -sheet- بعد التعديل من sheet1
قمت بكل الإجراءات والتصدير من vb الى excel بقي لي عميلة التخزين على شكل sheet  جديدة باسم جديد


كما وضح الاخ mrnooo2000

الرجاء التوضيح اكثر عن طلبك
ويفضل ارفاق نسخة مصغرة من المشروع 
لاتمام عمل كود يوافق محتوى مشروعك بعد توضيح المطلوب

تحياتى لك
وتمنياتى لك التوفيق
السلام عليكم
شكرا على الرد أستاذ
انا بصدد انجاز برنامج تنقيط خاص بمادة التربية البدنيةوالرياضة في المدرسة
هذا الكود الذي كتبته
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim myexcel As New Excel.Application
myexcel.Workbooks.Open("C:\Users\farouk\Desktop\epspes\epspes1\epspes1\Resources\eval.xlsx")
myexcel.Range("c" & 6).Value = ComboBox5.Text
myexcel.Range("e" & 6).Value = firstname.Text
myexcel.ActiveWorkbook.Save()
myexcel.ActiveWorkbook.Close()
myexcel.Workbooks.Close()
myexcel = Nothing
End Sub
في هذه الحالة انا اعدل على الورقة الأولىsheet1 من ملف اكسل اسمه eval
المعلومات في هذه الحالة تخزن طبعا في الورقة الأولىsheet1 من ملف اكسلeval بعد عملية التطبيق
اريد بعد الكبس على button4 ان اخزن المعلومات في نفس الملف اكسل eval  ولكن بفتح ورقة جديدة  sheet2 تكون عليها المعلومات والتعديلات التي اكتبها في النافذة combobox5 . و firstname
والورقة الثانية sheet2 تكون تحمل اسم اكتبه في textbox بدلا من كلمة sheet2 الي تظهر اسفل الشاشة من ملف الاكسل
وهكذا بعد كل عملية تعديل أنشئ ورقة جديدة sheet3.sheet4 ; والتي تكون عبارة عن اقسام دراسية تحمل اسم القسم في نفس ملف اكسل eval
ارجو ان يكون سؤالي واضحا
وانا في انتظار ردكم تقبلوا مني فائق الشكر والتقدير
استخدم هذا الكود لاضافة Sheet
كود :
myexcel.Workbook.Worksheets.Add("Name")

من ثم تعريف اسم Sheet المطوب التعديل عليه كما بالتالى
كود :
Dim dd = myexcel.Sheets("Name")
       dd.Range("c" & 6).Value = ComboBox5.Text

تحياتى لك 
وتمنياتى لك التوفيق