2016-02-02 2 views
0

Я пытаюсь отформатировать весь лист Excel, чтобы иметь одинаковую ширину и высоту для всех ячеек.Форматирование всех ячеек в электронной таблице на ту же обозначенную высоту и ширину

Следующий код не работает, но не дает ошибку либо:

 transposeSheet.Cells.UseStandardHeight = 15 
    transposeSheet.Cells.UseStandardWidth = 15 

Существует много кода, там для этого отдельных диапазонов, но я не могу найти, как сделать весь лист заданная высота и ширина.

ответ

1

Примечание Я просто создал MSDN code sample на следующем.

Вот пример, который гарантирует, что все объекты будут утилизированы должным образом, поэтому существует достаточное количество кода, иначе мы могли бы сделать это с меньшим количеством кода, в котором много света от сети, которые будут выполнять работу, но оставляют остатки не удаленные объекты в памяти компьютера иногда, если удача будет удалена, когда приложение закрывает другое время.

enter image description here

пример вызова модуля

Dim FileName As String = IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "WorksheetsTest.xlsx") 
Dim SheetName As String = "Sheet1" 

SetWidthHeight(FileName, SheetName, 10, 50) 

Код для выше

Option Strict On 
Imports Excel = Microsoft.Office.Interop.Excel 
Imports Microsoft.Office 
Imports System.Runtime.InteropServices 
Module OpenWorkSheets4 
    Public Sub SetWidthHeight(ByVal FileName As String, ByVal SheetName As String, ByVal RowHeight As Integer, ByVal ColumnHeight As Integer) 
     If IO.File.Exists(FileName) Then 
      Dim Proceed As Boolean = False 

      Dim xlApp As Excel.Application = Nothing 
      Dim xlWorkBooks As Excel.Workbooks = Nothing 
      Dim xlWorkBook As Excel.Workbook = Nothing 
      Dim xlWorkSheet As Excel.Worksheet = Nothing 
      Dim xlWorkSheets As Excel.Sheets = Nothing 
      Dim xlCells As Excel.Range = Nothing 

      xlApp = New Excel.Application 
      xlApp.DisplayAlerts = False 

      xlWorkBooks = xlApp.Workbooks 
      xlWorkBook = xlWorkBooks.Open(FileName) 

      xlApp.Visible = False 

      xlWorkSheets = xlWorkBook.Sheets 

      For x As Integer = 1 To xlWorkSheets.Count 
       xlWorkSheet = CType(xlWorkSheets(x), Excel.Worksheet) 

       If xlWorkSheet.Name = SheetName Then 
        Proceed = True 
        Exit For 
       End If 

       Runtime.InteropServices.Marshal.FinalReleaseComObject(xlWorkSheet) 
       xlWorkSheet = Nothing 

      Next 
      If Proceed Then 
       xlCells = xlWorkSheet.Cells 
       Dim EntireRow As Excel.Range = xlCells.EntireRow 
       EntireRow.RowHeight = RowHeight 
       EntireRow.ColumnWidth = ColumnHeight 

       ReleaseComObject(xlCells) 
       ReleaseComObject(EntireRow) 
      Else 
       MessageBox.Show(SheetName & " not found.") 
      End If 

      xlWorkSheet.SaveAs(FileName) 

      xlWorkBook.Close() 
      xlApp.UserControl = True 
      xlApp.Quit() 

      ReleaseComObject(xlWorkSheets) 
      ReleaseComObject(xlWorkSheet) 
      ReleaseComObject(xlWorkBook) 
      ReleaseComObject(xlWorkBooks) 
      ReleaseComObject(xlApp) 
     Else 
      MessageBox.Show("'" & FileName & "' not located.") 
     End If 
    End Sub 
    Private Sub ReleaseComObject(ByVal obj As Object) 
     Try 
      If obj IsNot Nothing Then 
       System.Runtime.InteropServices.Marshal.ReleaseComObject(obj) 
       obj = Nothing 
      End If 
     Catch ex As Exception 
      obj = Nothing 
     End Try 
    End Sub 
End Module 
0

Вы хотите использовать ниже

Cells.Select // Selects all cells on active sheet 
Selection.RowHeight = Yournumberhere // Changes height of selected rows 
Selection.ColumnWidth = Yournumberhere // Changes width of selected columns 
Смежные вопросы