Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Word - COM-Komponente - Namen der OLE-Befehle?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
11.12.2008, 16:17 Uhr
Sir_Tobias



Hallo,

ich bin ein wenig ratlos beim Schreiben einer Ansteuerung für Word über die COM-Komponente (Interface IDispatch).

Als Grundlage verwende ich die Wrapperklassen von Microsoft, die es bei Jochen Kalmbach runterzuladen gibt, um den Code zu vereinfachen ( http://blog.kalmbachnet.de/?postid=63 ).

Jedoch scheinen die Funktionsaufrufe für Word aus der TypeLibrary und von Visual Basic nicht gleich der Befehle von der Wrapperklasse zu sein.

Z.B. ist der Befehl fürs Suchen von Wörtern in C++ hier dann "EditFind" und nicht "Selection.Find".

Eine Übersicht zu den Befehlen habe ich hier gefunden: www.wbrnet.info/db/5301.html

Allerdings fehlen mir die Parameterangaben, was das Implementieren etwas mühselig macht, da ich keine Fehlerausgabe habe.

Hätte jemand eine Idee, wo es eine solche Übersicht gibt bzw. wie ich doch die "echten" Visual-Basic-Befehle übernehmen kann?

Viele Grüße,

Tobias
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.12.2008, 16:56 Uhr
0xdeadbeef
Gott
(Operator)


Ich habe jetzt kein Windows hier, um das zu testen, aber wenn ich COM richtig in Erinnerung habe, dann müsste die Property sich wie eine normale Funktion "aufrufen" lassen. Mit anderen Worten, OLESTR("Selection" an Invoke übergeben, und einem der Parameter - ich müsste jetzt nachschlagen, welcher - einen Pointer auf eine VARIANT-Struktur übergeben, in die der dann das Dispatch-Interface für das derzeitige Selection-Objekt verpackt.

Natürlich läufst du mit dem Selection-Objekt in die selben Fallen wie bei allen globalen Variablen, und ich bin mir jetzt nicht im Klaren über die Semantik dee IDispatch-Instanz, die du da zurückbekomm(en sollte)st, wenn die Auswahl sich ändert. Aber da erzähle ich dir (hoffentlich) nichts neues.

Allerdings hat das ganze herzlich wenig mit Standard-C++ zu tun, also -->
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
15.12.2008, 00:44 Uhr
Sir_Tobias



Hallo,


vielen Dank fürs Verschieben und für die Hilfe.
Wenn ich das richtig verstanden habe, ist doch das "Selection"-Objekt nur für einen selektierten Bereich zuständig?
Oder gilt dies auch für die Suchen- und Ersetzen-Befehle. Den Befehl für Suchen habe ich eher zufällig rausgefunden nach dem obigen Link www.wbrnet.info/db/5301.html :

Invoke("Instanz von Word", DISPATCH_METHOD, NULL, NULL, NULL, OLESTR("EditFind"), TEXT("b&b_searchString"), b_searchString,

Nach der Übersicht über die Befehle ist dann der Befehl fürs Ersetzen:

Invoke("Instanz von Word", DISPATCH_METHOD, NULL, NULL, NULL, OLESTR("EditReplace"), TEXT("bb&b_searchString&b_replaceString"), b_searchString, b_replaceString)

Das funktioniert aber nicht, da ich leider keine genaue Übersicht über die Parameter und deren richtige Reihenfolge habe.
Wüßte jemand da genaueres?

Viele Grüße und vielen Dank für eure Hilfe schon mal.

Tobias
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: