Re: Forms 4.5, OLE and Word97 bookmarks

From: SSgt Charles Erwin <erwincs_at_eglin.af.mil>
Date: Thu, 14 Jan 1999 22:29:30 GMT
Message-ID: <369e6dfc.29502955_at_ra.nrl.navy.mil>


[Quoted] On Tue, 12 Jan 1999 23:10:35 GMT, nwgarside_at_my-dejanews.com wrote:

>
> DECLARE
> objActiveDoc OLE2.OBJ_TYPE;
> objBookmarks OLE2.OBJ_TYPE;
> objBookmark OLE2.OBJ_TYPE;
> numBookmarkCount NUMBER;
> BEGIN
> objActiveDoc := OLE2.GET_OBJ_PROPERTY(Word.hApp, 'ActiveDocument');
> objBookmarks := OLE2.GET_OBJ_PROPERTY(objActiveDoc, 'Bookmarks');
> numBookmarkCount := OLE2.GET_NUM_PROPERTY(objBookmarks, 'Count');
> Message('There are '||TO_CHAR(numBookmarkCount)||' bookmarks.');
> END;
>
>However, I have a problem when I try and retrieve the name of each individual
>bookmark. The Word97 VBA I'm trying to PL/SQL'ise is:
>
> strBookmarkName = ActiveDocument.Bookmarks(intBookmarkCount).Name
>

It looks like you already have the bookmarks collection object, so the following is based on what you already have above. Enjoy!

Note: The Word_Bookmarks and Word_Bookmark packages are obtained from the OLE importer in Forms.

  declare
    vobjBookmark OleObj;
    vvarIndex OleVar;
    vstrName VARCHAR2(256);
  /* Index of the bookmark in the bookmarks collection */     viIndex NUMBER := 1;
  begin
    vvarIndex := Create_Var;
    Set_Var( vvarIndex, viIndex );
    vobjBookmark := Word_Bookmarks.Item(objBookmarks, vvarIndex);     vstrName := Word_Bookmark.Name( vobjBookmark );   end; Received on Thu Jan 14 1999 - 23:29:30 CET

Original text of this message