VBScript dla programu Excel: Jak wybrać dane źródłowe (.SetSourceData)?
Szukałem odpowiedzi na to pytanie zarówno w Google, jak i tutaj, bez powodzenia. Jeśli wcześniej o to pytano, przeprosiłam.
Próbuję zautomatyzować niektóre zadania administracyjne za pomocą VBScript. Celem tego konkretnego skryptu jest pobranie statystyk użytkowania z pliku tekstowego (z kolumnami tekstowymi i liczbowymi) i utworzenie wykresu liniowego z danych. Tworzenie pliku programu Excel i ładowanie danych działa dobrze, ale mam problem z utworzeniem wykresu: nie rozumiem, jak wybrać dane źródłowe i ciągle napotykam błędy składniowe. W Internecie jest mnóstwo informacji na temat tego, jak to zrobić w VBA, i to wynika z zarejestrowanego makra. Ale po prostu nie mogę tego zrobić za pomocą VBScript. Oto mój kod (niektóre nazwy plików zostały zmienione ze względów prywatności):
Set objFSO = CreateObject("Scripting.FileSystemObject")
' Create an instance of Excel (keep program hidden) and open text data file
Set objExcel = CreateObject("Excel.Application")
With objExcel
.Visible = False
.WorkBooks.OpenText("Datafile.txt")
End With
' Name the current worksheet
Set objWorksheet = objExcel.Worksheets(1)
' Name constants for use in chart creation
xlLine = 4
xlPrimary = 1
xlCategory = 1
xlValue = 2
xlColumns = 3
' Define chart properties
Set objChart = objExcel.Charts.Add()
With objExcel.ActiveChart
.ChartType = 1
.HasTitle = True
.ChartTitle.Characters.Text = "usage"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Time"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "units"
.ChartType = xlLine
.HasLegend = False
.SetSourceData Source:="objWorksheet".Range("B2:B10"), Plotby:=xlColumns
End With
Za pomocą tego kodu udaje mi się utworzyć plik programu Excel z danymi odpowiednio ułożonymi w kolumnach i osobnym arkuszem z pustym wykresem (o powyższych właściwościach
Ale w wierszu „.SetSourceData” występują błędy. Po prostu nie jestem pewien, jak go używać w VBScript. Jestem bardzo nowy w VBScript, więc proszę wybacz wszelkie błędy w składni lub zrozumieniu kodu. Może robię coś zasadniczo nie tak?
edytowa
Korzystam z programu Excel 2003.
Twoje zdrowie