منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] اريد تخزين عدة شيتات -sheet- بعد التعديل من sheet1 - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] اريد تخزين عدة شيتات -sheet- بعد التعديل من sheet1 (/showthread.php?tid=25114)



اريد تخزين عدة شيتات -sheet- بعد التعديل من sheet1 - ferouk - 27-05-18

افيدوني جزاكم الله كل الخير والله يرحم والديكم

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


RE: افيدوني جزاكم الله كل الخير والله يرحم والديكم - mrnooo2000 - 27-05-18

لا أفهم ما تريده بالضبط 

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

كود :
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

اذا لم يكن به ما تريد يرجى ارفاق مثال مصغر من مشروعك


RE: افيدوني جزاكم الله كل الخير والله يرحم والديكم - elgokr - 28-05-18

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


كما وضح الاخ mrnooo2000

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

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



RE: اريد تخزين عدة شيتات -sheet- بعد التعديل من sheet1 - ferouk - 29-05-18

السلام عليكم
شكرا على الرد أستاذ
انا بصدد انجاز برنامج تنقيط خاص بمادة التربية البدنيةوالرياضة في المدرسة
هذا الكود الذي كتبته
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
ارجو ان يكون سؤالي واضحا
وانا في انتظار ردكم تقبلوا مني فائق الشكر والتقدير


RE: اريد تخزين عدة شيتات -sheet- بعد التعديل من sheet1 - elgokr - 29-05-18

استخدم هذا الكود لاضافة Sheet
كود :
myexcel.Workbook.Worksheets.Add("Name")

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

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