افيدوني جزاكم الله كل الخير والله يرحم والديكم
في ملف اكسال واحد اريد تخزين عدة شيتات -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
تحياتى لك
وتمنياتى لك التوفيق