Помогите, плиз, переколбасить VBA макрос в VBS скрипт

Узнай цену своей работы

Формулировка задачи:

Времени вникать в тонкости синтаксиса vbs нет, а задание горит, поэтому решил кинуть клич добрым людям. Помогите, пожалуйста, преобразовать вот этот простенький макрос в vbs скрипт. Буду очень признателен.
Листинг программы
  1. Sub MacroInWeek()
  2. '
  3. ' MacroInWeek Macro
  4. '
  5.  
  6. '
  7. Sheets.Add
  8. ActiveSheet.Name = "SummaryInWeek"
  9. ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
  10. "InWeek!R1C1:R830C21", Version:=xlPivotTableVersion12).CreatePivotTable _
  11. TableDestination:=ActiveSheet.Cells(3, 1), TableName:="PivotTable1", DefaultVersion _
  12. :=xlPivotTableVersion12
  13. Cells(3, 1).Select
  14. ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
  15. "PivotTable1").PivotFields("calls2"), "Count of calls2", xlCount
  16. With ActiveSheet.PivotTables("PivotTable1").PivotFields("год")
  17. .Orientation = xlPageField
  18. .Position = 1
  19. End With
  20. With ActiveSheet.PivotTables("PivotTable1").PivotFields("месяц")
  21. .Orientation = xlPageField
  22. .Position = 1
  23. End With
  24. With ActiveSheet.PivotTables("PivotTable1").PivotFields("пол")
  25. .Orientation = xlPageField
  26. .Position = 1
  27. End With
  28. With ActiveSheet.PivotTables("PivotTable1").PivotFields("возраст")
  29. .Orientation = xlPageField
  30. .Position = 1
  31. End With
  32. ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
  33. "PivotTable1").PivotFields("количество заказов"), _
  34. "Count of количество заказов", xlCount
  35.  
  36. Range("B22").Select
  37. ActiveSheet.PivotTables("PivotTable1").PivotFields("город"). _
  38. AutoSort xlDescending, "Count of calls2", ActiveSheet.PivotTables("PivotTable1" _
  39. ).PivotColumnAxis.PivotLines(1), 1
  40.  
  41. End Sub

Решение задачи: «Помогите, плиз, переколбасить VBA макрос в VBS скрипт»

textual
Листинг программы
  1. Dim objExcel
  2. Set objExcel = WScript.CreateObject("Excel.Application")
  3. Dim thisWorkbook
  4. Set thisWorkbook = objExcel.Workbooks.Open("C:\Documents and Settings\gerchikova\Local Settings\Temp\plavixReport.xlsx")
  5. Dim thisSheet
  6. Set thisSheet = thisWorkbook.Sheets.Add
  7.  
  8. thisSheet.Name = "Summury"
  9. thisWorkbook.PivotCaches.Create(xlDatabase, "InWeek!R1C1:R830C21", xlPivotTableVersion12).CreatePivotTable _
  10. thisSheet.Cells(3, 1), "PivotTable1", xlPivotTableVersion12
  11.  
  12. Cells(3, 1).Select
  13. thisSheet.PivotTables("PivotTable1").AddDataField thisSheet.PivotTables( _
  14. "PivotTable1").PivotFields("calls2"), "Count of calls2", xlCount
  15. With thisSheet.PivotTables("PivotTable1").PivotFields("год")
  16. .Orientation = xlPageField
  17. .Position = 1
  18. End With
  19. With thisSheet.PivotTables("PivotTable1").PivotFields("месяц")
  20. .Orientation = xlPageField
  21. .Position = 1
  22. End With
  23. With thisSheet.PivotTables("PivotTable1").PivotFields("пол")
  24. .Orientation = xlPageField
  25. .Position = 1
  26. End With
  27. With thisSheet.PivotTables("PivotTable1").PivotFields("возраст")
  28. .Orientation = xlPageField
  29. .Position = 1
  30. End With
  31. Range("B22").Select
  32. thisSheet.PivotTables("PivotTable1").PivotFields("город по таблице 1"). _
  33. AutoSort xlDescending, "Count of calls2", thisSheet.PivotTables("PivotTable1" _
  34. ).PivotColumnAxis.PivotLines(1), 1
  35.  
  36. thisWorkbook.Save
  37. thisWorkbook.Close
  38. objExcel.Quit
  39.  
  40.  
  41. Set objExcel = Nothing
  42.  
  43. WScript.Quit 0

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут