Zelf uitgekomen uiteindelijk en er een blogpost van gemaakt: Title TK: Creating Excel files with powershell.
Deze thread plaatsen is niet eenvoudig. PoSh hoort half hier thuis en half in WOS. VBA hoort dan weer thuis in OFF. Enfin, ik denk dat het hier nog het meeste thuishoort.
Summiere achtergrond: een script dat via SQL bepaalde informatie van SCCM opvraagt, daar allerlei bewerkingen mee doet en dit dan uitvoert naar een Excel bestand. Op werkblad 1 staat data, op werkblad 2 staat een dropdownlist met waaruit men een keuze kan maken (in casu: een softwarepakket) en de bedoeling is dat na de keuze er een grafiek tevoorschijn komt mbt. die software.
Je krijgt iets zoals dit:
(in het echt moet de SourceData dynamisch worden dmv. de dropdownlist overigens)
Ik steek dat in mijn PoSh script als een codeblock:
En nu? Hoe pomp ik dit in mijn Excelfile? Vermoedelijk hoort dit thuis in mijn workbook-object ("$Workbook01"), maar ik zie geen manier om dit te doen. Er is een property die naar VBA verwijst, nl . Workbook.VBProject, maar daar schiet ik niets mee op.
Google biedt ook geen hulp: alle threads gaan over "hoe run ik een macro in Excel vanuit Powershell". Dat is niet mijn probleem: ik maak een Excel-object aan en probeer daar een macro in te stoppen.
Dank u voor uw ideeën en suggesties.
Deze thread plaatsen is niet eenvoudig. PoSh hoort half hier thuis en half in WOS. VBA hoort dan weer thuis in OFF. Enfin, ik denk dat het hier nog het meeste thuishoort.
Summiere achtergrond: een script dat via SQL bepaalde informatie van SCCM opvraagt, daar allerlei bewerkingen mee doet en dit dan uitvoert naar een Excel bestand. Op werkblad 1 staat data, op werkblad 2 staat een dropdownlist met waaruit men een keuze kan maken (in casu: een softwarepakket) en de bedoeling is dat na de keuze er een grafiek tevoorschijn komt mbt. die software.
Je krijgt iets zoals dit:
Visual Basic .NET:
1
2
3
4
5
6
| Sub CreateGraph() With ActiveSheet.ChartObjects.Add(Left:=349, Width:=607, Top:=15, Height:=225) .Chart.SetSourceData Source:=Sheets("Packages Data").Range("E2:P2") .Chart.ChartType = xlXYScatterLines End With End Sub |
(in het echt moet de SourceData dynamisch worden dmv. de dropdownlist overigens)
Ik steek dat in mijn PoSh script als een codeblock:
C#:
1
2
3
4
5
6
7
8
| $HetGenoemdeCodeBlock = @" Sub CreateGraph() With ActiveSheet.ChartObjects.Add(Left:=349, Width:=607, Top:=15, Height:=225) .Chart.SetSourceData Source:=Sheets("Packages Data").Range("E2:P2") .Chart.ChartType = xlXYScatterLines End With End Sub "@ |
En nu? Hoe pomp ik dit in mijn Excelfile? Vermoedelijk hoort dit thuis in mijn workbook-object ("$Workbook01"), maar ik zie geen manier om dit te doen. Er is een property die naar VBA verwijst, nl . Workbook.VBProject, maar daar schiet ik niets mee op.
Google biedt ook geen hulp: alle threads gaan over "hoe run ik een macro in Excel vanuit Powershell". Dat is niet mijn probleem: ik maak een Excel-object aan en probeer daar een macro in te stoppen.
Dank u voor uw ideeën en suggesties.
[ Voor 11% gewijzigd door YellowOnline op 18-07-2012 16:36 ]