Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

API? - xl-Parameter aus Long-Wert bestimmen

Betrifft: API? - xl-Parameter aus Long-Wert bestimmen von: Christian M
Geschrieben am: 19.04.2008 13:25:33

Hallo zusammen
der Code (s.u.) liefert den Diagrammtyp von vorhandenen Diagrammen als Long-Wert.
Gibt es eine Möglichkeit, diese Werte in die von Excel verwendeten "xl-Bezeichnungen" zu übersetzen?

Bsp: Ich starte den Macro-Recorder und füge ein Linien-Diagramm ein. Als ChartType wird "xlLine" aufgezeichnet. Wenn ich anschließend den ChartType dieses Diagramms abfrage, erhalte ich "4" und eben nicht "xlLine".

ich vermute, dass die mit API's zu lösen ist, aber habe leider wenig Ahnung davon.

Vielen Dank vorab
Grüße
Christian M

Sub GetChart()
Dim ch As ChartObject
   
   For Each ch In ActiveSheet.ChartObjects
      MsgBox ch.Chart.ChartType
   Next
End Sub


  

Betrifft: AW: API? - xl-Parameter aus Long-Wert bestimmen von: Herbert
Geschrieben am: 19.04.2008 14:35:08

Hi,

das geht auch mit API nicht. Bastel dir eine UDF, dauert max. 15 Minuten.

mfg Herbert


  

Betrifft: AW: API? - xl-Parameter aus Long-Wert bestimmen von: Uwe (:o)
Geschrieben am: 19.04.2008 14:47:27

Hi Christian,
wie man das direkt umwandelt weiß ich leider auch nicht, deshalb lasse ich die Frage offen, ABER:
Du kannst den Diagrammtyp auch numerisch festlegen, also z.B. so:
ActiveChart.ChartType = 4
Die Nummern für die einzelnen ChartTypen kannst Du im Objektkatalog von VBA nachschlagen (da findest Du dann z.B.: Const xlLine = 4). Wenn Du also nur bestimmte Typen brauchst, und nicht alle, könntest Du Dir damit ein Liste basteln und hättest dann zumindest schon mal ein Workaround.
Vielleicht kanns Du Dir auch irgendwie eine Schleife basteln die die Typen abfragt?!

Gruß
Uwe
(:o)


  

Betrifft: AW: API? - xl-Parameter aus Long-Wert bestimmen von: Renee
Geschrieben am: 19.04.2008 17:07:07

Hi Christian,

Das hat gar nix mit dem API zu tun.
xlWerte sind Konstanten, welche die VBA-Entwicklungsumgebung zur Verfügung stellt und darum kannst du diese auch nicht einfach in einen String 'zurück-verwandeln'. Du müsstest schon ein Verzeichnis aller Konstanten und der zugehörigen Werte haben, um das zu tun aber auch dann gibt es noch das Problem das je nach Context 4 ganz was anderes bedeuted. Z.B. sind xlPasteSpecialOperationMultiply,xlRangeAutoFormatAccounting1,vbNormalNoFocus oder xlDRW etc.,etc. = 4.

GreetZ Renée


  

Betrifft: PS: ObjectBrowser in VBE von: Renee
Geschrieben am: 19.04.2008 17:11:37

Hi Christian,

Kleiner Nachtrag: Falls du dir selber eine Tabelle der .xlChartType Konstanten anlegen willst, benütze den Objekt-Browser in der VBE Umgebung und such mal nach xlChartType, dann siehst du alle Members zu dieser Enumeration und beim Klick auf den Member die jeweiligen Werte.

GreetZ Renée


  

Betrifft: xl-Parameter - Danke von: Christian M
Geschrieben am: 19.04.2008 17:35:01

vielen Dank an alle für eure Tipps.
ich habe zwar gehofft, dass man diese Zuordnung nicht manuell erstellen muss, aber die Tipps werden mir weiterhelfen.

Danke
Christian M


  

Betrifft: ...und hier noch der Link zu Nepumuks... von: Luc:-?
Geschrieben am: 06.05.2008 00:30:12

...etwas verspäteter Antwort... ;-)
Luc :-?


 

Beiträge aus den Excel-Beispielen zum Thema "API? - xl-Parameter aus Long-Wert bestimmen"