vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Excel Befehle / Zugriff 
Autor: Thoto
Datum: 18.01.07 12:48

Hallo,
ich automatisiere gerade in einem Programm ein Excelfile in vb.net (2003).
Importieren, Expotieren, Diagramm erstellen usw. geht alles prima.
Doch nun möchte ich noch Dinge (hauptsächlich am Diagramm) verändern, wo es keine Tutorials mehr im Netz zu geben scheint.

Hier ist erstmal mein Programm (nur der Teil beim erstellen des Diagramms, der interessiert ):
(Den Teil habe ich von diesem Link: http://www.codeproject.com/office/Excel_Automation.asp)
Dim oChart As Excel.Chart
        Dim MyCharts As Excel.ChartObjects
        Dim MyCharts1 As Excel.ChartObject
        MyCharts = oExcelArbeitsblatt.ChartObjects
        'setzt Diagrammposition:
        MyCharts1 = MyCharts.Add(150, 300, 400, 250)
        oChart = MyCharts1.Chart
        'falls das Diagramm an einer default position sein soll die nächste 
        ' Zeile verwenden:
        oChart.Location(Excel.XlChartLocation.xlLocationAsObject, _
          oExcelArbeitsblatt.Name)
 
        With oChart
            'wählt die zu benutzenden Daten aus:
            Dim chartRange As Excel.Range
            chartRange = oExcelArbeitsblatt.Range("P20", "U50")
            .SetSourceData(chartRange)
            'setzt ob die Spalten oder Zeilen als Diagramm geseichnet werten 
            ' sollen:
            .PlotBy = Excel.XlRowCol.xlColumns
            'ob datalables verwendet werden sollen:
            .ApplyDataLabels(Excel.XlDataLabelsType.xlDataLabelsShowNone)
            'soll eine Legendeangezeigt werden?:
            .HasLegend = True
            'Position der Legende:
            .Legend.Position = Excel.XlLegendPosition.xlLegendPositionBottom
            'DiagrammTyp:
            .ChartType = Excel.XlChartType.xlLine
            'Diagrammtitel:
            .HasTitle = True
            .ChartTitle.Text = "Abweichung Übertragungsmaß"
            'legt die Namen der Axen und kategorien fest:
            Dim xlAxisCategory, xlAxisValue As Excel.Axes
            xlAxisCategory = CType(oChart.Axes(, Excel.XlAxisGroup.xlPrimary), _
              Excel.Axes)
            xlAxisCategory.Item(Excel.XlAxisType.xlCategory).HasTitle = True
            xlAxisCategory.Item( _
              Excel.XlAxisType.xlCategory).AxisTitle.Characters.Text = _
              "Frequenz in Hz"
 
            xlAxisValue = CType(oChart.Axes(, Excel.XlAxisGroup.xlPrimary), _
              Excel.Axes)
            xlAxisValue.Item(Excel.XlAxisType.xlValue).HasTitle = True
            xlAxisValue.Item( _
              Excel.XlAxisType.xlValue).AxisTitle.Characters.Text = "Abweichung" & _
              "in dB"
 
        End With
Das funktioniert alles prima, auch wenn ich nicht verstehe oder nicht nachvollziehen kann wie er die Achsen anders beschriftet hat.

Jetzt will ich noch, dass das Diagramm keinen grauen Hintergrund hat sondern einen weißen.

Um zu sehen welche eigenschaften da überhaupt angewendet wurden, habe ich zuerst ein Excelmakro aufgezeichnet. Folgendes hat Excel mir da ausgespuckt:

With Selection.Border
         .Color Index  = 16
         .Weight = xlThin
         .LineStyle = xlContinuous
End With
With Selection.Interior
         .Color Index  = 2
         .PatternColorIndex = 1
         .Pattern = xlSolid
End With
Für vb.net kann man das ja jetzt leider nicht einfach so übernehmen ..oder?

Dann habe ich es versucht es den Achsen nachzuvollziehen (nur am Beispiel Borders):
Dim xlBorder As Excel.Borders
            xlBorder.ColorIndex = 16
 
            'xlBorder.Weight = xlThick
            'xlBorder.LineStyle = xlContinuous
 
        End With
Hier sagt er aber, dass es keine Eigenschaft xlThick usw.. gibt.

Jetzt kann ich zwar bei den Verweisen in der Projektmappe und dann im Objektbrowser unter:
Interop.Excel--> Excel--> Borders--> LineStyle() As Object sehen, dass es diese Eigenschaft gibt, aber nicht welche Eigenschaften diese Objekt annehmen kann.

Wie bekomme ich diese Eigenschaften heraus?

Und die nächste Frage ist, wie kann man diesem Code beibringen, das es die Border von meinem gemeinten Chart is (ich habe schon bei den Axen nicht verstamden, wo ich mein Chart meine?)

Im Msdn habe ich auch nix dazu gefunden.
http://msdn2.microsoft.com/de-de/library/microsoft.office.tools.excel.chart_members(VS.80).aspx
In der Chartklasse gibt es keine Border...

Hat jemand einen tollen Link, oder kann mir sein vorgehen erklären, wie er an so eine Frage herangeht? Vielleicht ist meine gesamte Vorgehensweise falsch.

Gibt es irgendwo eine komplette Sammlung der Excelbefehle (klar msdn aber ich meine auch verständlich?)
Bitte gebt mir Hilfe zur Selbsthilfe , ich hoffe ihr konntet mein Problem verstehen.
Gruß Thoto
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Excel Befehle / Zugriff3.209Thoto18.01.07 12:48
Re: Excel Befehle / Zugriff2.642Thoto18.01.07 14:16
Re: Excel Befehle / Zugriff2.508Thoto18.01.07 14:25
Re: Excel Befehle / Zugriff2.557Thoto22.01.07 16:19
Re: Excel Befehle / Zugriff2.510motivorange02.08.07 15:15

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel