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