Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Presentation_2s-2.doc
Скачиваний:
16
Добавлен:
24.03.2015
Размер:
526.85 Кб
Скачать

11.3.1. Ссылки на диапазоны

– ссылка на содержимое элемента управления NamedRange:

Dim NamedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _

Me.Controls.AddNamedRange(Me.Range("A1"), "NamedRange1")

...

NamedRange1.Value2 = "Range value"

– ссылка на содержимое собственного диапазона ExcelRange:

Dim rng As Excel.Range = Me.Application.Range("A1")

...

rng.Value2 = "Range value"

11.3.2. Автоматическое заполнение диапазонов

Пример, заполнения трех диапазонов:

PrivateSubAutoFill()

Dim rng As Excel.Range = Me.Application.Range("B1")

rng.AutoFill(Me.Application.Range("B1:B5"), _

Excel.XlAutoFillType.xlFillWeekdays)

rng = Me.Application.Range("C1")

rng.AutoFill(Me.Application.Range("C1:C5"), _

Excel.XlAutoFillType.xlFillMonths)

rng = Me.Application.Range("D1:D2")

rng.AutoFill(Me.Application.Range("D1:D5"), _

Excel.XlAutoFillType.xlFillSeries)

End Sub

11.3.3. Хранение и извлечение значений дат в диапазонах

1. Использование элемента управления NamedRangeв проекте уровня документа.

– Сохранение значения даты в именованном диапазоне.

'Создание элемента управления NamedRangeв ячейкеA1.

Dim NamedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _

Me.Controls.AddNamedRange(Me.Range("A1"), "NamedRange1")

'Задание сегодняшней даты в качестве значения для NamedRange1.

Dim dt As DateTime = DateTime.Now

NamedRange1.Value2 = dt

– Извлечение значения даты из именованного диапазона NamedRange1.

Dim value As Object = NamedRange1.Value2

...

If Not value Is Nothing Then

If TypeOf value Is Double Then

dt = DateTime.FromOADate(CType(value, Double))

Else

DateTime.TryParse(CType(value, String), dt)

End If

End If

MessageBox.Show(dt.ToString())

2. Использование собственных диапазонов Excel Rangeв проекте уровня приложения.

– Сохранение значения даты в собственном диапазоне Excel Range.

'Создание объекта Range, представляющего ячейкуA1.

DimrngAsExcel.Range=Me.Application.Range("A1")

'Задание сегодняшней даты в качестве значения для rng.

Dim dt As DateTime = DateTime.Now

rng.Value2 = dt

– Извлечение значения даты из собственного диапазона Excel rng.

Dim value As Object = rng.Value2

...

If Not value Is Nothing Then

If TypeOf value Is Double Then

dt = DateTime.FromOADate(CType(value, Double))

Else

DateTime.TryParse(CType(value, String), dt)

End If

End If

System.Windows.Forms.MessageBox.Show(dt.ToString())

11.3.4. Применение стилей к диапазонам и их отмена

1. Применение стиля к именованному диапазону в настройке уровня документа:

– Создание нового стиля таблицы и задание его атрибутов.

Dim style As Excel.Style = _

Globals.ThisWorkbook.Styles.Add("NewStyle")

style.Font.Name = "Verdana"

style.Font.Size = 12

style.Font.Color = System.Drawing.ColorTranslator.ToOle( _

System.Drawing.Color.Red)

style.Interior.Color = System.Drawing.ColorTranslator.ToOle( _

System.Drawing.Color.Gray)

style.Interior.Pattern = Excel.XlPattern.xlPatternSolid

– Создание элемента управления NamedRange, присваивание ему текста, а затем применение нового стиля.

Dim rangeStyles As Microsoft.Office.Tools.Excel.NamedRange = _

Me.Controls.AddNamedRange(Me.Range("A1"), "rangeStyles")

rangeStyles.Value2 = "'Style Test"

rangeStyles.Style = "NewStyle"

rangeStyles.Columns.AutoFit()

2. Применение стиля к именованному диапазону в надстройке уровня приложения:

– Создание нового стиля таблицы и задание его атрибутов.

Dim style As Excel.Style = _

Me.Application.ActiveWorkbook.Styles.Add("NewStyle")

style.Font.Name = "Verdana"

style.Font.Size = 12

style.Font.Color = System.Drawing.ColorTranslator.ToOle( _

System.Drawing.Color.Red)

style.Interior.Color = System.Drawing.ColorTranslator.ToOle( _

System.Drawing.Color.Gray)

style.Interior.Pattern = Excel.XlPattern.xlPatternSolid

– Создание элемента управления Range, присваивание ему текста, а затем применение нового стиля.

Dim rangeStyles As Excel.Range = Me.Application.Range("A1")

rangeStyles.Value2 = "'StyleTest"

rangeStyles.Style = "NewStyle"

rangeStyles.Columns.AutoFit()

3. Отмена стилей, примененных к диапазонам в книге.

– Отмена стилей в элементе управления NamedRange:

Me.rangeStyles.Style = "Normal"

– Отмена стилей в собственном диапазоне Excel книги:

Dim rng As Excel.Range = Me.Application.Range("A1")

rng.Style = "Normal"