Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - ASP и VBScript

Страница: 1 |

 

  Вопрос: Скрипт на VB, заполняющий таблицу Excel Добавлено: 17.09.09 09:04  

Автор вопроса:  >ORG@niZM<
Здравствуйте, уважаемые!
Пытаюсь построить круговую диаграмму по табличным данным через скрипт, но не могу задать тип диаграммы. Код частично адаптировал из автоматически записанного макроса. 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
Автор ответа:
 >ORG@niZM<



Вопросов: 1
Ответов: 1
 Профиль | | #1 Добавлено: 17.09.09 09:08
данный код работает без ошибок, но требуется построить именно круговую диаграмму (для наглядности) и в идеале по каждому диску (скорее всего на отдельных листах). сразу оговорюсь, что сейчас используется вся таблица при построении диаграммы, но в круговая должна строиться по всем столбцам, кроме "Объем диска"

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам