publish-reports.mac 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. Dim objApp As Object
  2. Dim objRep As Object
  3. Dim folder as String
  4. Dim publish As String
  5. Dim exportFormat As String
  6. Sub Main ()
  7. Rem On Error Resume Next
  8. Set objApp = CreateObject("CognosPowerPlay.Application")
  9. rem folder = "C:\GAPS\Portal\System\Report"
  10. rem exportFormat = "pdf"
  11. rem publish = "C:\GAPS\Portal\daten"
  12. folder = GetField(Command, 1, ",")
  13. exportFormat = GetField(Command, 2, ",")
  14. publish = GetField(Command, 3, ",")
  15. Dim filename as String
  16. Dim exportFile as String
  17. Dim objPDF as Object
  18. filename = Dir(folder + "\")
  19. Do While filename <> ""
  20. If LCase(Right(filename, 4)) = ".ppr" Or LCase(Right(filename, 4)) = ".ppx" Then
  21. Set objRep = CreateObject("CognosPowerPlay.Report")
  22. objRep.Open(folder + "\" + filename)
  23. exportFile = publish + "\" + Left(filename, Len(filename) -4)
  24. Select Case exportFormat
  25. Case "pdf"
  26. Set objPDF = objRep.PDFFile(exportFile + "_0.pdf", True)
  27. With objPDF
  28. .SaveEntireReport = True
  29. .AxisOnAllPages = True
  30. .ChartTitleOnAllPages = False
  31. .IncludeLegend = False
  32. End With
  33. objPDF.Save
  34. For i = 1 to objRep.Layers.Count
  35. Set objPDF = objRep.PDFFile(exportFile + "_" + i + ".pdf", True)
  36. With objPDF
  37. .SaveEntireReport = False
  38. .SaveAllCharts = False
  39. .AxisOnAllPages = True
  40. .ChartTitleOnAllPages = False
  41. .IncludeLegend = False
  42. .SetListOfLayersToSave objRep.Layers.Subset(i, i)
  43. .SetListOfRowsToSave objRep.Rows
  44. End With
  45. objPDF.Save
  46. Next
  47. Case "asc"
  48. objRep.SaveAs exportFile, 3
  49. Case "xls"
  50. objRep.SaveAs exportFile, 4
  51. Case "ppx"
  52. objRep.SaveAs exportFile, 5
  53. Case Else
  54. objRep.Publish publish, False, True, True
  55. End Select
  56. objRep.Close
  57. End if
  58. filename = Dir
  59. Loop
  60. objApp.Quit
  61. End Sub
  62. Sub SaveAsXls (report As String)
  63. Dim objPPRep as Object
  64. Dim objPPRes as Object
  65. Set objPPRep = GetObject(, "CognosPowerPlay.Report")
  66. Set objPPRes = objPPRep.Columns.CumPercentOfBase _
  67. (objPPRep.Rows.Item("1996"))
  68. objPPRep.SaveAs "Mein neuer Bericht"
  69. Set objPPRep = Nothing
  70. End Sub
  71. Sub Pdf()
  72. Dim objPDF as Object
  73. Dim objPPRep as Object
  74. Set objPPRep = CreateObject ("CognosPowerPlay.Report")
  75. objPPRep.Open( "C:\COGNOS\BEISPIEL.PPR" )
  76. objPPRep.visible( TRUE )
  77. Set objPDF = objPPRep.PDFFile( "C:\COGNOS\PDFBEISPIEL" , True )
  78. With objPDF
  79. .SaveEntireReport = False
  80. .AxisOnAllPages = True
  81. .ChartTitleOnAllPages = False
  82. .IncludeLegend = True
  83. .SetChartToSave objPPRep.Graphs.Item( 1 )
  84. .SetListOfLayersToSave objPPRep.Layers
  85. .SetListOfRowsToSave objPPRep.Rows
  86. End With
  87. objPDF.Save
  88. Set objPPRep = Nothing
  89. Set objPDF = Nothing
  90. End Sub