[RESOLU]Forms, Word et OLE2
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 ???
Citation:
-- 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 ;-)