|
Iniciado por Loïc, abr., 26 2017 4:47 PM - 6 respostas |
| |
| | | |
|
| |
Membro registado 33 mensagems |
|
Publicado em abril, 26 2017 - 4:47 PM |
Bonjour
Existe t'il une fonction, une possibilité pour découper un document Word (document avec extension doc) en plusieurs fichiers doc ? Je m'explique : je souhaiterai avec Windev (version 19) avoir mon fichier de résultat de publipostage (300 pages par exemple) et le découper en plusieurs fichiers word de même nombre de pages (300 fichiers word d'1 page pour reprendre mon exemple).
Est-ce que cela est possible ?
Sinon, je suis parti pour faire 300 fois le publipostage, soit destinataire par destinataire. Manque de peau, j'ai vu que ct réalisable sur la version 22...
Merci à vous
-- Elle n'est pas belle la vie ??? |
| |
| |
| | | |
|
| | |
| |
Publicado em abril, 26 2017 - 5:04 PM |
Bonjour
c'est possible en faisant de l'ole automation, ou avec un composant externe comme gembox
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
Le 4/26/2017 à 8:47 AM, "ÿÿÿÿÿÿ" a écrit :
Bonjour Existe t'il une fonction, une possibilité pour découper un document Word (document avec extension doc) en plusieurs fichiers doc ? Je m'explique : je souhaiterai avec Windev (version 19) avoir mon fichier de résultat de publipostage (300 pages par exemple) et le découper en plusieurs fichiers word de même nombre de pages (300 fichiers word d'1 page pour reprendre mon exemple). Est-ce que cela est possible ? Sinon, je suis parti pour faire 300 fois le publipostage, soit destinataire par destinataire. Manque de peau, j'ai vu que ct réalisable sur la version 22... Merci à vous -- Elle n'est pas belle la vie ??? |
| |
| |
| | | |
|
| | |
| |
Membro registado 33 mensagems |
|
Publicado em abril, 27 2017 - 9:07 AM |
Bonjour
Merci de votre réponse.
Avez-vous des exemples de codes, même sur page Web, que je me fasse une idée, SVP ?
C'est une nouveauté pour moi.
Cordialement
Fabrice Harari a écrit :
Bonjour c'est possible en faisant de l'ole automation, ou avec un composant externe comme gembox Cordialement -- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source) Plus d'information sur http://fabriceharari.com
-- Elle n'est pas belle la vie ??? |
| |
| |
| | | |
|
| | |
| |
Publicado em abril, 27 2017 - 2:37 PM |
Bonjour
J'utilise gembox (pas pour faire précisément ce que tu cherches, mais bon) dans WXEDM, disponible sur mon site
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
Le 4/27/2017 à 1:07 AM, "ÿÿÿÿÿÿ" a écrit :
Bonjour Merci de votre réponse. Avez-vous des exemples de codes, même sur page Web, que je me fasse une idée, SVP ? C'est une nouveauté pour moi. Cordialement Fabrice Harari a écrit : Bonjour c'est possible en faisant de l'ole automation, ou avec un composant externe comme gembox Cordialement -- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source) Plus d'information sur http://fabriceharari.com-- Elle n'est pas belle la vie ??? |
| |
| |
| | | |
|
| | |
| |
Membro registado 33 mensagems |
|
Publicado em maio, 02 2017 - 12:46 PM |
Bonjour
Merci Fabrice.
J'avais trouvé sur un site un bout de code qui fonctionne bien. Je pense qu'il y a moyen de découper le fichier qu'on transforme en PDF mais pas moyen en modifiant les paramètres. Vous avez une idée ?
Voici le code :
L'appel se fait de cette façon :
QUAND EXCEPTIONEXCEPTION DANS DocumentVersPDF("c:\documentWord.doc","c:\documentWord.pdf") Info("Document sauvegardé !") FAIRE Erreur(ExceptionInfo(errComplet)) FIN
La procédure DocumentVersPDF :
Procedure DocumentVersPDF(LOCAL _sDocCheminComplet est une chaîne,_sDocPDFCheminComplet est une chaîne="")
LOCAL oServiceManager est un objet OLE dynamique oDesktop est un objet OLE dynamique oDocument est un objet OLE dynamique sMess est une chaîne
SI PAS fFichierExiste(_sDocCheminComplet) ALORS sMess = "Le document source n'existe pas." ExceptionDéclenche(1,sMess) FIN
QUAND EXCEPTIONEXCEPTION DANS oServiceManager = allouer un objet OLE ("com.sun.star.ServiceManager") oDesktop = oServiceManager>>createInstance("com.sun.star.frame.Desktop") FAIRE sMess = "OpenOffice n'est pas installé sur votre poste." ExceptionDéclenche(1,sMess) FIN
tParams est un tableau de 0 objet automation dynamique
CreateProperty(oServiceManager,tParams,"Hidden",Vrai)
LOCAL sDocCheminCompletTmp est une chaîne
sDocCheminCompletTmp = "file:///"+Remplace(_sDocCheminComplet,"\","/")
oDocument = oDesktop>>LoadComponentFromURL(sDocCheminCompletTmp,"_blank",0,tParams) SI oDocument = Null ALORS ExceptionDéclenche(1,"Impossible de charger le document source.") FIN
TableauSupprimeTout(tParams)
oExportObject est un objet OLE dynamique oExportObject = oServiceManager>>Bridge_GetValueObject() oExportObject>>Set("[]com.sun.star.beans.PropertyValue",tParams);
tFilterParams est un tableau de 0 objet automation dynamique CreateProperty(oServiceManager,tFilterParams,"FilterName","writer_pdf_Export") CreateProperty(oServiceManager,tFilterParams,"FilterData",oExportObject)
SI _sDocPDFCheminComplet = "" ALORS _sDocPDFCheminComplet = fExtraitChemin(_sDocCheminComplet,fDisque+fRépertoire+fFichier)+".pdf" FIN
LOCAL sDocPDFCheminCompletTmp est une chaîne
sDocPDFCheminCompletTmp = "file:///"+Remplace(_sDocPDFCheminComplet,"\","/")
oDocument>>StoreToURL(sDocPDFCheminCompletTmp,tFilterParams);
oDocument>>Close(Vrai);
CAS EXCEPTION: sMess = "Erreur lors de la sauvegarde du document : "+RC sMess += "'"+_sDocCheminComplet+"'"+RC sMess += "vers le document : "+RC sMess += "'"+_sDocPDFCheminComplet+"'."+RC ExceptionPropage(sMess+RC+RC+ExceptionInfo(errComplet))
La procédure CreateProperty :
Procedure CreateProperty(oServiceManager,__tArgs,_sName est une chaîne,_vValue)
TableauAjoute(__tArgs) iNbOccurences est un entier = __tArgs..Occurrence
__tArgs[iNbOccurences] = oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue") __tArgs[iNbOccurences]>>Name = _sName __tArgs[iNbOccurences]>>Value = _vValue
-- Elle n'est pas belle la vie ??? |
| |
| |
| | | |
|
| | |
| |
Membro registado 33 mensagems |
|
Publicado em maio, 02 2017 - 12:50 PM |
Après de multiples recherches et une "fusion" entre WD et VBA, je penqe qu'il y a moyen de faire une découpe au niveau de ceci :
CreateProperty(oServiceManager,tFilterParams,"FilterName","writer_pdf_Export") CreateProperty(oServiceManager,tFilterParams,"FilterData",oExportObject)
Mais pas moyen...
-- Elle n'est pas belle la vie ??? |
| |
| |
| | | |
|
| | |
| |
Membro registado 33 mensagems |
|
Publicado em maio, 02 2017 - 3:24 PM |
Pour information, pour l'instant, j'utilise l'utilitaire PDFTK, que je lance via LanceAppli() et un fichier BAT. Mais bon.... entre 2 et 3 secondes l'extraction d'une page pour créer un nouveau document pdf. c'est un peu long et ça ressemble beaucoup à du bricolage !!!
-- Elle n'est pas belle la vie ??? |
| |
| |
| | | |
|
| | | | |
| | |
|