IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

ExcelVersPdf et WordVersPdf


Sujet :

WinDev

  1. #1
    Membre averti Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Points : 427
    Points
    427
    Par défaut ExcelVersPdf et WordVersPdf
    Bonjour,
    Est ce que quelqu'un a codé ces deux fonctions ?
    Merci d'avance
    Cordialement

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je n'ai jamais fais ce genre d'export, mais en parcourant les forums, j'ai trouvé cela :

    1) Exporter de Excel vers PDF : (source)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FeuilleExcel>>ActiveSheet>>ExportAsFixedFormat(0,lch,0,Vrai,Vrai,1)
    2) Exporter de Word vers PDF : lire cet article

  3. #3
    Membre averti Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Points : 427
    Points
    427
    Par défaut
    Bonjour,
    Merci pour la réponse (+1)

    J'ai oublié que dans le temps j'ai fais un truc sur Excel.

    La solution du lien que tu m'as donné fonctionnera uniquement sur Open Office .
    Dans certains structures, il se peut que Open Office soit interdit

  4. #4
    Invité
    Invité(e)
    Par défaut
    C'est vrai, je ne savais pas d'ailleurs si c'était une solution par rapport à OpenOffice pas, du coup, le 1er code que je trouvais était bon à prendre :p

    Pour exporter un word en PDF : (source)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    procedure WORDENPDF(wDocumentSource,wDocumentDestination)
     
    clWord = allouer un objet Automation "Word.Application"
    SI clWord=Null ALORS
    RENVOYER faux
    FIN
    SI clWord <> Null ALORS
    clWord>>Documents>>Open(wDocumentSource)
    Multitâche(-20)
    clWord>>ActiveDocument>>ExportAsFixedFormat(wDocumentDestination, WdExportFormat, Faux)
    TDeb=HeureSys();TFin=HeureSys()
    TANTQUE PAS fFichierExiste(wDocumentDestination) ET HeureDifférence(TDeb,TFin)<500
    Multitâche(-20)
    TFin=HeureSys()
    FIN
    clWord>>ActiveWindow>>Close()
    Multitâche(-20)
    SINON
    RENVOYER faux
    FIN
    QUAND EXCEPTION DANS
    libérer clWord
    FAIRE
    FIN
    RENVOYER vrai

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    Bonjour,

    On peut sans doute passer par l'impression PDF ou par le volet Export de l'aperçu avant impression.

    La brochure V22 évoque une fonction DocVersPDF() dans le code qui illustre la nouveauté 012, champ TT.
    On ne la retrouve pas dans la liste des nouvelles fonctions (p.52) où on trouve par contre DocVersHTML et DocVersTexte.

    La recherche avec "Excel +PDF" dans le forum de PCsoft sort plusieurs discussions dont certaines évoquent des développements.
    A vous de voir ...
    Idem sans doute avec "Word +PDF".

    Bonne recherche et bonne chance

    Hemgé

  6. #6
    Membre averti Avatar de tunizar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 573
    Points : 427
    Points
    427
    Par défaut
    Bonjour,
    J'ai modifié un peu la méthode EnregistrerSous de la classe CExcel, présent dans l'exemple WD Pilotage de Tableurs
    (Exemples\Exemples didactiques)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    PROCEDURE VIRTUAL EnregistrerSous(sNomClasseur="")
    LOCAL
    	lsExtension is string
    	cnFormatPdf is int = 0 // peut être dans une énumération, classe de constante, etc...
    // Y-a-t-il bien un document actif
    IF :EstOuvert()=False THEN
    	RESULT False
    END
    IF sNomClasseur ~= ""
    	IF :m_nVersion <12 THEN
    		// Sélection ou création d'un fichier Excel
    		sNomClasseur=fSelect("","","Enregistrer sous.....","Document Excel (*.XLS)"+TAB+"*.XLS",".XLS",fselCreate+fselExist)
    	ELSE
    		//Pour Office 2007, on propose la nouvelle extension XLSX
    		// Sélection ou création d'un fichier Excel
    		sNomClasseur=fSelect("","","Enregistrer sous.....",...
    											"Document PDF (*.PDF)"+TAB+"*.PDF" + CR +...
    											"Document Excel (*.XLS)"+TAB+"*.XLS" + CR +...
    											"Document Excel (*.XLSX)"+TAB+"*.XLSX",".XLS"...
    											,fselCreate+fselExist)		
    	END	
    	// Aucun fichier sélectionné
    	IF sNomClasseur="" THEN 		
    		RESULT False 
    	END
    END
    //Récupération du format d’enregistrement
    nFormat is int 
    lsExtension =  Upper(fExtractPath(sNomClasseur,fExtension))
    IF lsExtension = ".PDF" THEN
    	:m_xExcel>>ActiveSheet>>ExportAsFixedFormat(cnFormatPdf,sNomClasseur)
    ELSE
    	SWITCH Upper(fExtractPath(sNomClasseur,fExtension))
    		CASE ".XLSX" :
    			nFormat = ::cnFormatXlsx
    		CASE ".XLS" :
    			nFormat = ::cnFormatXls	
    	END		
    	:m_xExcel>>ActiveWorkbook>>SaveAs(sNomClasseur,nFormat)
    	:m_sClasseurEnCours=sNomClasseur
    END
    RESULT True
    Je continue les investigations

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Novembre 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Novembre 2023
    Messages : 3
    Points : 7
    Points
    7
    Par défaut On a trouvé !!
    Cela fait maintenant quelques heures que l'on cherche a imprimer un XLS en pdf. Finalement, windev propose la fonctionnalité. On arrive un peu en retard mais, on s'est prit la tête pour rien.
    Il suffit d'écrire :

    doc_comp est un xlsDocument
    doc_comp = xlsOuvre(fichier_comp,xlsEcriture)

    iDestination(iPDF, "competences_etudiant") // "competences_etudiant" est le nom du pdf une fois enregistré
    iImprimeXLS(doc_comp) // imprime "competences-etudiant.pdf" avec les informations stockées dans la variable "doc_comp"

  8. #8
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Bonjour,

    Oui, effectivement, un peu en retard...

    A l'époque de WD20, si idestination(ipdfgenerique,...) fonctionnait bien, iImprimeXLS n'existait pas... Il a dû, je crois, être introduit en V23...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Novembre 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Novembre 2023
    Messages : 3
    Points : 7
    Points
    7
    Par défaut Problème
    Oui mais honnêtement, nous avons cherché et tu peux même vérifier, le premier site visible quand cherche une solution pour convertir xls en pdf, c'est "developpez.com".

    Nous avons un problème, nous sommes actuellement en stage et nous bossons sur un projet windev. Nous sommes arrivés à la derniere étape qui est de fusionner les pdf. Cependant il y a un problème, il n'arrive pas à lire les pdf.

    Voilà ce que j'ai marqué

    TableauPDF est un tableau de 6 chaînes
    TableauPDF[1] = Documents.CheminCV
    TableauPDF[2] = Documents.CheminAttest_Stage
    TableauPDF[3] = Documents.CheminRAPPORT1
    TableauPDF[4] = Documents.CheminAttest_Stage2
    TableauPDF[5] = Documents.CheminRAPPORT2
    TableauPDF[6] = "competences_etudiant.pdf"

    PDFFusionne("C:\Users\DELL\Desktop\pdf_fusion.pdf", TableauPDF)z

  10. #10
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Tu aurais dû créer un nouveau fil de discussion. Ne sois pas timide car, ici, on ne mord que les gens qui sont de mauvaise foi.

    Règle n°1 : ne pas croire gogol. Il met en premier ceux qui payent le plus et quand ce n'est pas le cas, il lui arrive très souvent de mettre n'importe quoi...
    Règle n°2 : utilise les balises de code (bouton #)

    Pour ton cas : cela ne fonctionne que si les pdf sont dans le dossier de l'exe. Comme tu ne précises pas (ni dans ton code, ni dant ton explication), je suppose que c'est ça l'erreur.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Novembre 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Novembre 2023
    Messages : 3
    Points : 7
    Points
    7
    Par défaut Merci !
    Merci beaucoup ! je vais regarder. Je n'ai pas fait de fil de discussion car il faut un minimum de 10 messages il me semble. Et je suis débutant sur le forum

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo