Страница: 1 |
Вопрос: Скрипт на VB, заполняющий таблицу Excel | Добавлено: 17.09.09 09:04 |
Автор вопроса: ![]() |
Здравствуйте, уважаемые!
Пытаюсь построить круговую диаграмму по табличным данным через скрипт, но не могу задать тип диаграммы. Код частично адаптировал из автоматически записанного макроса. VB не изучал (и сам Basic тоже). Прошу помощи! Set objXL = WScript.CreateObject("Excel.Application") Set fso = WScript.CreateObject("Scripting.FileSystemObject") objXL.Visible = TRUE objXL.WorkBooks.Add objXL.workbooks(1).worksheets(2).delete objXL.workbooks(1).worksheets(2).delete objXL.Columns(1).ColumnWidth = 6 objXL.Columns(2).ColumnWidth = 10 objXL.Columns(3).ColumnWidth = 10 objXL.Columns(4).ColumnWidth = 10 objXL.Cells(1, 1).Value = "Буква диска" objXL.Cells(1, 2).Value = "Объём диска, Мб" objXL.Cells(1, 3).Value = "Свободно, Мб" objXL.Cells(1, 4).Value = "Занято, Мб" objXL.Range("A1:D1").Select With objXL.Selection .WrapText = True .ShrinkToFit = True .Font.Bold = True .Interior.ColorIndex = 1 .Interior.Pattern = 1 .Font.ColorIndex = 2 End With Dim intIndex intIndex = 2 'Проверяем все драйвы (HDD, FDD, CDD) в системе For each i In fso.Drives 'DriveType=2 - логические диски. Зачем нам дисковод и т.п. ерунда? If i.DriveType=2 Then 'Получаем букву диска drive=i.DriveLetter 'Узнаем свободное место total= fso.GetDrive(drive).TotalSize free = fso.GetDrive(drive).FreeSpace 'выводим информацию в соответствующие ячейки objXL.Cells(intIndex, 1).Value = drive objXL.Cells(intIndex, 2).Value = cLng(total/1048576) objXL.Cells(intIndex, 3).Value = cLng(Free/1048576) objXL.Cells(intIndex, 4).Value = objXL.Cells(intIndex, 2).Value - objXL.Cells(intIndex, 3).Value intIndex = intIndex + 1 objXL.Cells(intIndex, 1).Select End If Next objXL.Range("A1:D9").Select objXL.Charts.Add() objXL.workbooks(1).worksheets(1).move objXL.workbooks(1).charts(1) objXL.workbooks(1).charts(1).activate With objXL.Charts(1) .HasTitle = True .ChartTitle.Text = "Информация о дисковом пространстве" End With |
Ответы | Всего ответов: 1 |
Номер ответа: 1 Автор ответа: ![]() ![]() Вопросов: 1 Ответов: 1 |
Профиль | Цитата | #1 | Добавлено: 17.09.09 09:08 |
данный код работает без ошибок, но требуется построить именно круговую диаграмму (для наглядности) и в идеале по каждому диску (скорее всего на отдельных листах). сразу оговорюсь, что сейчас используется вся таблица при построении диаграммы, но в круговая должна строиться по всем столбцам, кроме "Объем диска" |
Страница: 1 |
|