invoke ???



  • Hab den Source von einem bestehenden Projekt zusammenkopiert... musst Dur *ppdispRoot durch pdispParagraphFormat ersetzen:

    pdispParagraphFormat = V_DISPATCH(&vRet);
      if (pdispParagraphFormat == NULL)
        return E_FAIL;
      pdispParagraphFormat->AddRef();  // keep a reference to the object
      VariantClear(&vRet)
    

    Hab es nicht wirklich mit Word getestet...



  • Danke für Deine Hilfe
    Ich denke ich blicke jetz ein wenig mehr durch.

    Nur habe ich zZt keinen Schimmer warum Invoke kein entsprechendes Ergebnis liefert.
    ICh kann mir nur vorstellen, dass ich die falschen Argumente übergebe.

    Aber es ist doch richtig , dass ich die Bezeichnungen der Interfaces übergeben
    muss. Ich habe jetzt verschiedene Nezeichnungen für entsprechende Interfaces
    übergeben , jedoch immmer mit dem gleichen Ergebnis.

    Zum Verständnis:
    Ich suche unter type libraries nach

    ->Microsoft Word 11.0 Object library <8.3>
    

    darunter finde ich diverse Interfaces

    ->_Application
             _ParagraphFormat
             _Fonts
             Range
             Character
    etc
    

    und ich denke für diese muß ich doch ein IDspatch erhalten um dann
    auf die entsprechendem Methoden zugreifen zu können

    Oder nennen sich diese Schnittstellen bzgl VBA ganz anders ?



  • Du musst Methoden oder Properties aufrufen. Wie die Klasse heisst die Du da zurückbekommst oder verwendest spielt dabei *keine* Rolle!
    Und Werte doch einfach den HRESULT-Rückgabewert aus, dann kommst Du am schnellsten drauf was schief geht...



  • das ist es ja
    hrRes = 0x80020006 unbekannter Name.
    vRet = {VT_EMPTY}

    jedesmal (!seufz)

    Was ist mit pexcepinfo oder pnArgErr bei Invoke
    liefern diese Parameter mirt vielleich Infos?



  • Heureka , ich hab's 😃

    vergiss es mit IDispatch holen etc.

    Ich hatte die ganze Zeit Visual Basic und Wordbasic gleichgesetzt.

    es reicht einfach dei Wordbasic Methode aufzurufen : 💡 (auf Englisch)

    Invoke(pdispWord, DISPATCH_METHOD, NULL, NULL, NULL,   
    			OLESTR("RightPara"), NULL);
    

    eine Auflistung der Wordbasic-Methoden und entsprechenden VBA-Methoden
    habe ich hier gefunden:

    http://msdn.microsoft.com/library/en-us/vbawd11/html/wohowWordBasicEquivalentsA_HV05214104.asp?frame=true

    Trotzdem vielen Dank für die Hilfe . Es hat mir doch einige tiefere
    Einblicke in dieses Thema ermöglicht.

    🙂


Anmelden zum Antworten