Announcement

Collapse
No announcement yet.

Problem mit ExcelApplication.WindowState

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem mit ExcelApplication.WindowState

    Hallo,

    Wenn ich mit ExcelApplication.Windowstate:= xlMaximized;
    den Fensterstatus von Excel setzen will, bekomme ich beim Compilieren den Hinweis, dass der Konstantenausdruck die untere Grenze verletzt.

    Woran liegt das?

    M.f.G. Andreas Käding

  • #2
    Hallo,

    >Woran liegt das?

    mit den Office2000-Komponenten und Delphi 6.01 kann ich dieses Problem nicht reproduzieren:
    <pre>
    ExcelApplication1.WindowState[FLCID] := xlMaximized;
    </pre>
    Wie sieht die Deklaration von WindowState und xlMaximized in der verwendeten importierten Typbibliotheks-Unit aus

    Comment


    • #3
      Hallo Herr Kosch,

      Die Deklaration sieht bei mir so aus:
      type
      XlWindowState = TOleEnum;
      const
      xlMaximized = $FFFFEFD7;
      xlMinimized = $FFFFEFD4;
      xlNormal = $FFFFEFD1;

      Ich verwende D5 und ebenfalls Office 2000.

      M.f.G. Andreas Kädin

      Comment


      • #4
        Hallo,

        Delphi 5 nimmt es mit der Typprüfung anscheinend zu genau. Die TExcelApplication-Komponente deklariert für WindowState den Rückgabewert <i>TOleEnum</i> (siehe Unit <i>ActiveX</i>), aber in der importierten TLB werden die Konstanten ohne Typ deklariert. Mit den folgenden beiden Alternativen der expliziten Typumwandlung sollte diese Hinweismeldung aber auch bei Delphi 5 verschwinden:
        <pre>
        uses ActiveX;

        procedure TForm1.Button1Click(Sender: TObject);
        begin
        ExcelApplication1.WindowState[FLCID] := TOleEnum(xlMaximized);
        ExcelApplication1.WindowState[FLCID] := Constants(xlMaximized);
        end;
        </pre>
        In der Unit <i>Excel2000</i> taucht dabei folgendes auf:
        <pre>
        // ************************************************** *******************//
        // Declaration of Enumerations defined in Type Library
        // ************************************************** *******************//
        // Constants for enum Constants
        type
        Constants = TOleEnum;
        ...
        </pre>
        &#10

        Comment

        Working...
        X