Тема: VBS: выравнивание столбцов в Excel по центру
как, собственно, сделать? Никакой документации найти не могу.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Серый форум → Общение → Windows Script Host, HTA (VBScript, JScript) → VBS: выравнивание столбцов в Excel по центру
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
как, собственно, сделать? Никакой документации найти не могу.
Самый удобный способ на мой взгляд - записать макрос и посмотреть код. Вот что генерит сам Excel. Это при горизонтальном и при вертикальном выравнивании, если я конечно правильно понял о чём речь.
Const xlCenter = -4108 '(&HFFFFEFF4)
Const xlContext = -5002 '(&HFFFFEC76)
With ActiveWorkbook.ActiveSheet.Range("A1:B100")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End Withречь не про VBA
вот текс тестового скрипта
задача: столбец А отцентровать по центру
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add
objExcel.Cells(1, 1).Value = "Name"
objExcel.Cells(1, 1).Font.Bold = TRUE
objExcel.Cells(1, 1).Interior.ColorIndex = 30
objExcel.Cells(1, 1).Font.ColorIndex = 2
objExcel.Cells(2, 1).Value = "Test value 1"
objExcel.Cells(3, 1).Value = "Test value 2"
objExcel.Cells(4, 1).Value = "Tets value 3"
objExcel.Cells(5, 1).Value = "Test value 4"
речь не про VBA
Да я понял, что не про VBA. ) В заголовке указано. Но я же не телепат, чтобы знать как у Вас в скрипте называется объект олицетворяющий WorkBook и активный лист ActiveSheet. Поэтому оставил их без изменения, чтобы Вы в коде могли подцепить выравнивание. Если базироваться на вашем коде, то как то так.
Const xlCenter = -4108 '(&HFFFFEFF4)
Const xlContext = -5002 '(&HFFFFEC76)
Dim objExcel, ActiveWorkBook, ActiveSheet
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set ActiveWorkBook = objExcel.Workbooks.Add
Set ActiveSheet = ActiveWorkBook.ActiveSheet
With ActiveSheet
.Cells(1, 1).Value = "Name"
.Cells(1, 1).Font.Bold = TRUE
.Cells(1, 1).Interior.ColorIndex = 30
.Cells(1, 1).Font.ColorIndex = 2
.Cells(2, 1).Value = "Test value 1"
.Cells(3, 1).Value = "Test value 2"
.Cells(4, 1).Value = "Tets value 3"
.Cells(5, 1).Value = "Test value 4"
With ActiveSheet.Range("A1:A5")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
End WithЛибо для конкретной ячейки
With .Cells(1,1)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End WithБольшое спасибо! Работает.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться