Announcement

Collapse
No announcement yet.

Schon wieder VBA

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

  • Schon wieder VBA

    Hallo,
    ich habe schon wieder die nächste Frage.
    Ich möchte von meinem AddIn aus, welches mit Delphi geschrieben ist,
    auf Funktionen von MSProject zugreifen. Auf Ereignisse von Project reagiert das AddIn schon, nur der Zugriff auf Funktionen geht nicht.
    Ich kann sie zwar durch frühe Bindung sehen, aber irgendwie funktioniert es nicht. Als Beispiel: ich möchte vom AddIn aus einen neuen Task in Project erzeugen.

    Wer weiß wie das geht???

  • #2
    Hallo,

    wenn das AddIn von der Host-Anwendung geladen wird, ruft der Host die <i>_IDTExtensibility2</i>-Interface-Methode <i>OnConnection</i> auf, um dort einen Interface-Zeiger auf das eigene Objekt zu übergeben. Über diesen Interface-Zeiger kann der Host genau so über Automation fernbedient werden, wie das bei einer normalen Anwendung auch der Fall ist.

    Im Fall eines AddIns für Microsfot Word sieht das zum Beispiel so aus:
    <pre>

    procedure TFUMIDocAddInObj.OnConnection(const Application: IDispatch;
    ConnectMode: ext_ConnectMode; const AddInInst: IDispatch;
    var custom: PSafeArray);
    begin
    FormAddIn := TFormAddIn.Create(nil);
    FormAddIn.WordAppConnect(Application);
    end;

    </pre&gt

    Comment


    • #3
      Hallo,

      ich habe jetzt eine Möglichkeit gefunden in Project einen Task von Delphi aus zu erzeugen. Dafür habe ich ein Form kreiiert, welches den Button 'New Task' hat und bei Betätigen einen neuen Task einfügt. Leider erhalte ich vor allem bei mehrmaligen schnellen Betätigen des Buttons den Fehler:

      Im Projekt xxxxx ist eine Exception der Klasse EOleSysError aufgetreten. Meldung: 'Aufruf wurde durch Aufgerufenen abgelehnt'.

      Woran kann das liegen?

      Comment

      Working...
      X