[Charts] Umsetzen von xlBarStacked100 und vertikalem Liniendiagramm

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    [Charts] Umsetzen von xlBarStacked100 und vertikalem Liniendiagramm

    Hallo!

    Ich bin bis jetzt erfolglos auf der Suche zwei Arten von Grafiken mit vb.net zu erstellen (Ziel ist es diese später in eine PowerPoint Präsi zu importieren). Es geht nicht um eine 1:1 Umsetzung der Grafiken, das sind nur Beispiele, damit meine ich die Art der Grafik also nicht die Beschriftung oder Skalierung.

    1.

    Was ich bis jetzt habe ist:
    Was ich nur überhaupt nicht verstehe ist, dass die Datenbasis scheinbar vordefiniert ist. Wenn der Code durchläuft popt hinterher das Excelsheet auf in dem die Daten drin sind. Die Range kann ich nicht ändern. Ich frage mich eh, wo die Daten herkommen.

    VB.NET-Quellcode

    1. Sub test()
    2. Dim sTemplate As String = "C:\Template.pptx"
    3. Dim oApp As PowerPoint.Application
    4. Dim oPres As PowerPoint.Presentation
    5. Dim oSlide As PowerPoint.Slide
    6. Dim oChar As PowerPoint.Chart
    7. Dim oCharTitle As PowerPoint.ChartTitle
    8. Dim oWorkBook As Excel.Workbook
    9. Dim oWorkSheet As Excel.Worksheet
    10. oApp = New PowerPoint.Application
    11. oApp.Visible = True
    12. oPres = oApp.Presentations.Open(sTemplate, , , Microsoft.Office.Core.MsoTriState.msoTrue)
    13. oSlide = oPres.Slides.Add(2, PowerPoint.PpSlideLayout.ppLayoutChart)
    14. oChar = oSlide.Shapes.AddChart(Microsoft.Office.Core.XlChartType.xlBarStacked100).Chart
    15. 'Get Excel Workbook
    16. oWorkBook = oChar.ChartData.Workbook
    17. 'Set Chart
    18. oChar.HasTitle = True
    19. oCharTitle = oChar.ChartTitle
    20. oCharTitle.Caption = "My Chart"
    21. 'handle workbook's data
    22. oWorkSheet = oWorkBook.Sheets(1)
    23. oWorkSheet.Range("B2").Value = 10
    24. oWorkSheet.Range("B3").Value = 0.05
    25. oWorkSheet.Range("A4").Value = "Category 3"
    26. oWorkSheet.Range("B4").Value = 8
    27. oWorkSheet.Range("C4").Value = 6.5
    28. oWorkSheet.Range("D4").Value = 7.1
    29. 'Set Slide Title
    30. oSlide.Shapes(1).TextFrame.TextRange.Text = "My VSTO"
    31. End Sub





    2.

    Hier komme ich überhaupt nicht weiter. Ich bin 5 Stunden google und keine Antwort. Das einzige was ich bis jetzt herausgefunde habe ist, dass man das in Excel umsetzen kann und dann mit einer PPT Vorlage per Verknüpfung umsetzen kann. Das bringt mir aber nichts.

    1.


    Ich bin langsam echt am verzweifeln. Wäre super, wenn mir jemand helfen könnte.

    VG
    Rüdi
    Was für Daten hast Du?
    Was soll bei rauskommen?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!