برنامجي ينقل البيانات من الفيجول بيسك الى الاكسل ولكن احيانا عندما اقوم بنقل البيانات
مثلا لو كانت عندي شهادة لطالب معين وتصميم هذه الشهادة كصفحة واحده فقط
ولكن احيانا عندما انقر على زر الامر الذي يقوم بكتابة معدلات الطالب على الشهادة ينفذ الامر لكن عند فتح الشهادة اجد ان بعض الاعمدة فيها ممتد وهذا يؤدي الى جعل الشهادة على صفحتين
كيف استطيع تثبيت عرض العمود برمجيا او من خلال الاكسل يكون افضل
ممكن تعرض لنا كود نقل البيانات ؟
الكود طويل لكن هذا جزء منه
If (from = 2) Then
.Range(cell2).Font.Size = 12
.Range(cell3).Font.Size = 12
If (num >= 11 And (course = 8 Or course = 7)) Then
.Range(cell2).Value = result(sec_avg)
.Range(cell3).Value = result(tot_avg)
Else
.Range(cell2).Value = s_avg
.Range(cell3).Value = t_avg
End If
' .Range(cell3).Cells
End If
في جملة كتبتها وهي
.Cells(, "H").EntireColumn.ColumnWidth = 9.14
ولكن شكلها ما بتاثر كثير وكمان المشكلو انو صعب كل ما بدي اكتب في عمود بدي اكتب هاي الجملة
أخي الكريم, من أين تنقل البيانات؟ هل من الـ (DataGridView) أم من قاعدة البيانات مباشرة أم من (Textbox)؟
أخي العزيز tecno2012,
وجدت لك هذا الكود في حال كنت تستخدم الـ (DataGridView) لتقوم بعملية الـ (Export), قم بتجربته و أخبرني:
PHP كود :
Dim excelBook As Excel.Workbook = xlApp.Workbooks.Add
Dim excelWorksheet As Excel.Worksheet = CType(excelBook.Worksheets(1), Excel.Worksheet)
xlApp.Visible = True
rowsTotal = DataGridView1.RowCount - 1
colsTotal = DataGridView1.Columns.Count - 1
With excelWorksheet
.Cells.Select()
.Cells.Delete()
For iC = 0 To colsTotal
.Cells(1, iC + 1).Value = DataGridView1.Columns(iC).HeaderText
Next
For I = 0 To rowsTotal - 1
For j = 0 To colsTotal - 1
.Cells(I + 2, j + 1).value = DataGridView1.Rows(I).Cells(j).Value
Next j
Next I
.Rows("1:1").Font.FontStyle = "Bold"
.Rows("1:1").Font.Size = 10
.Cells.Columns.AutoFit()
.Cells.Select()
.Cells.EntireColumn.AutoFit()
.Cells(1, 1).Select()
End With
إنتبه الى الكود
و ما يقوم بعمله هذا الكود.
البيانات احضرها من قاعدة البيانات وارسلها مباشرة الى الاكسل سؤال هل الجملة الاخيرة .Cells.Columns.AutoFit() تؤثر على عرض العمود اللي انا واضعوه
السلام عليكم,
نعم إنها تؤثر على عرض العمود الذي وضعته, حيث إنها تقوم بتغيير عرض العمود اوتوماتيكيا.
جرب الكود و أعطني النتيجة.
تحياتي