Bonjour,

Je dois me mettre à OLE2 en forms 6i. J'ai donc bien compris le principe d'utiliser les macros Word pour avoir le code à produire pour une action. Malgré çà, j'ai un "petit" problème pour effectuer un copier-coller.

Pour le principe: j'ai un blob où est stocké un modele. Je souhaite ouvrir le modèle, le dupliquer par copier-coller dans un nouveeau document avant de faire une fusion (plus tard !). Avec le code suivant, le copier-coller s'effectue dans le modèle et non dans le nouveau document ???

-- Open Word and activate it
FORMS_OLE.ACTIVATE_SERVER('AC_CONTENU.WD_DOC');

-- Verb index 1 => Open the embedded document for editing
FORMS_OLE.EXEC_VERB('AC_CONTENU.WD_DOC', 1);

-- Get a handle on the Word document in the OLE container
v_modele := FORMS_OLE.GET_INTERFACE_POINTER('AC_CONTENU.WD_DOC');

-- Get a handle on the Application object
v_app := OLE2.GET_OBJ_PROPERTY(v_modele,'Application');
v_documents := OLE2.GET_OBJ_PROPERTY(v_app, 'Documents');

-- Copie
v_sel := ole2.GET_OBJ_PROPERTY(v_app, 'Selection');
ole2.INVOKE(v_sel,'WholeStory');
ole2.INVOKE(v_sel,'Copy');

-- Nouveau doc
v_doc_final := OLE2.INVOKE_OBJ(v_documents,'Add');

-- Colle
OLE2.INVOKE(v_sel, 'Paste');
OLE2.INVOKE(v_sel, 'Paste');

-- Fermer le doc de ref
--FORMS_OLE.CLOSE_SERVER('AC_CONTENU.WD_DOC');

A moins que je n'utilise pas la bonne méthode pour arriver à ce résulat. J'avais aussi songé à faire un sauver sous, mais j'aimerai autant ne pas passer par une svg disque.

Merci ;-)