1

Тема: VBS: выравнивание столбцов в Excel по центру

как, собственно, сделать? Никакой документации найти не могу.

2

Re: VBS: выравнивание столбцов в Excel по центру

Самый удобный способ на мой взгляд - записать макрос и посмотреть код. Вот что генерит сам 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
Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

3

Re: VBS: выравнивание столбцов в Excel по центру

речь не про 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"

4 (изменено: Xameleon, 2011-03-18 15:44:51)

Re: VBS: выравнивание столбцов в Excel по центру

komr пишет:

речь не про 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
Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

5

Re: VBS: выравнивание столбцов в Excel по центру

Большое спасибо! Работает.