Seite 1 von 1

from win32com.client import constants

Verfasst: Dienstag 5. Dezember 2006, 10:52
von Xell
Hallo,

ich habe das Problem, dass anscheinend nicht alle Konstanten aus "from win32com.client import constants" geladen werden bzw. nicht implementiert sind.

Code: Alles auswählen

WordApplication.Selection.GoTo(constants.wdGoToBookmark, Name = 'Metrics')

ExcelWorksheetJobList.Cells(1, 2).Validation.Add(Type = constants.xlValidateList , Formula1="=authors")
Die obere Anweisung funktioniert, d.h. constants ist geladen.
Bei der unteren Anweisung meckert er jedoch:
File "C:\Python.2.4\Lib\site-packages\win32com\client\__init__.py", line 173,
in __getattr__
raise AttributeError, a
AttributeError: xlValidateList
Für mich heißt das, dass er die Konstante nicht findet und deswegen den AttributeError raist.

Ich weiß zwar, dass die Konstante "xlValidateList" den Wert 3 hat, jedoch hilft mir das auch nicht weiter.

Über Hilfe wäre ich sehr dankbar.

[edit] Ich nutze übrigens Python2.4, falls das interessiert.

Verfasst: Dienstag 5. Dezember 2006, 18:31
von Leonidas
Bevor du die Konstanten nutzen kannst, musst du erst mit makepy eine Datei für Static Dispatch erstellen, damit geht es dann.

Verfasst: Montag 11. Dezember 2006, 14:44
von Xell
Danke erstmal für deine Antwort.

Kannst du vll deine Erklärung noch etwas erweitern?

Ich verstehe nicht, was du mit "eine Datei erstellen" meinst.

Mit makepy kann ich ja eine Bibliothek auswählen. Fragt sich nur welche?
"Microsoft Excel 11.0 Object Library (1.5)" ist das z.B. die Richtige?

Soll das ganze dann von der Form:
win32com.client.static.Dispatch(...) sein?

Vielen Dank.

Verfasst: Montag 11. Dezember 2006, 20:59
von Leonidas
Xell hat geschrieben:Mit makepy kann ich ja eine Bibliothek auswählen. Fragt sich nur welche?
"Microsoft Excel 11.0 Object Library (1.5)" ist das z.B. die Richtige?
Ich denke schon - zur not kannst du ja in die generierte Datei reingucken, sollte irgendwo in site-packages liegen und einen Namen in der Form 550e8400_e29b_41d4_a716_446655440000.py haben.

Ansonsten kann ich dir keine weiteren Tipps geben - an mehr erinnere ich mich aus meiner Windows-Zeit grad nicht mehr.