Wie kann ich eine Grafik laden, wenn ich eine Wordvorlage öffne
-
hi
weiß jemand wie ich eine Grafik anzeigen lassen kann, wenn ich eine Wordvorlage öffne
So ein mist, finde nichts gescheites dazu.Danke
Mit der Klasse CImage komm ich wahrscheinlich nicht weiter oder?
danke für die Hilfe
-
Hallo,
kann mir jemand weiterhelfen und zwar möchte ich wie schon mal geschrieben eine Grafik in Word an einer bestimmten Stelle laden lassen:
Das hab ich bisher, was mir noch fehlt ist, wie ich auf die
InlineShapes-Collection zugreifen kann. Kann mir da jemand bitte weiterhelfenvielen dank
// Bookmark 'Grafik' suchen und entsprechende Grafik zurückgeben // 1. Zugriff Bookmarks-Collection beschaffen IDispatchPtr spBookmarks = NULL; spDispDokument.GetPropertyByName(L"Bookmarks", &vResult); spBookmarks = vResult.pdispVal; CComDispatchDriver spDispBookmarks(spBookmarks); // 2. Zugriff auf die Bookmark 'Grafik' beschaffen VARIANT vBmName; vBmName.vt = VT_BSTR; vBmName.bstrVal = SysAllocString(L"Grafik"); IDispatchPtr spMyBookmark = NULL; spDispBookmarks.Invoke1(L"Item", &vBmName, &vResult); spMyBookmark = vResult.pdispVal; // Freigeben des Strings nicht vergessen: SysFreeString(vBmName.bstrVal); CComDispatchDriver spDispMyBookmark(spMyBookmark); // 3. Range-Objekt abfragen IDispatchPtr spMyRange = NULL; spDispMyBookmark.GetPropertyByName(L"Range", &vResult); spMyRange = vResult.pdispVal; CComDispatchDriver spDispMyRange(spMyRange); // 4.InlineShapes-Collection zugreifen // 5.Durch den Aufruf der AddPicture - Methode // wird eine bestehende Grafik eingefügt // Hier rufen wir nur mit einem einzigen Parameter auf, dem Dateinamen. VARIANT vFilename; vFilename.vt = VT_BSTR; vFilename.bstrVal = SysAllocString(L"Pfad_der_Grafikdatei"); hr = spDocuments.Invoke1(L"AddPicture", &vFilename); SysFreeString(vFilename.bstrVal);
-
morgen
okay, hier die Lösung für diejenige oder denjenigen, der das auch mal gebrauchen kann
// Bookmark 'Grafik' suchen und entsprechende Grafik zurückgeben // 1. Zugriff Bookmarks-Collection beschaffen IDispatchPtr spBookmarks = NULL; spDispDokument.GetPropertyByName(L"Bookmarks", &vResult); spBookmarks = vResult.pdispVal; CComDispatchDriver spDispBookmarks(spBookmarks); // 2. Zugriff auf die Bookmark 'Grafik' beschaffen VARIANT vBmName; vBmName.vt = VT_BSTR; vBmName.bstrVal = SysAllocString(L"Grafik"); IDispatchPtr spMyBookmark = NULL; spDispBookmarks.Invoke1(L"Item", &vBmName, &vResult); spMyBookmark = vResult.pdispVal; // Freigeben des Strings nicht vergessen: SysFreeString(vBmName.bstrVal); CComDispatchDriver spDispMyBookmark(spMyBookmark); // 3. Range-Objekt abfragen IDispatchPtr spMyRange = NULL; spDispMyBookmark.GetPropertyByName(L"Range", &vResult); spMyRange = vResult.pdispVal; CComDispatchDriver spDispMyRange(spMyRange); // 4.InlineShapes-Collection zugreifen // InlineShapes - Collection beschaffen: DISPID dispidInlineShapes = 0; hr = spDispMyRange.GetIDOfName(L"InlineShapes", &dispidInlineShapes); hr = spDispMyRange.GetProperty(dispidInlineShapes, &vResult); CComDispatchDriver spDispInlineShapes(vResult.pdispVal); // 5.Durch den Aufruf der AddPicture - Methode // wird eine bestehende Grafik eingefügt // Hier rufen wir nur mit einem einzigen Parameter auf, dem Dateinamen. VARIANT vFilename; vFilename.vt = VT_BSTR; vFilename.bstrVal = SysAllocString(L"Pfad_der_Bilddatei"); hr = spDispInlineShapes.Invoke1(L"AddPicture", &vFilename); SysFreeString(vFilename.bstrVal);
viel Spaß...