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

C# Discussion :

[WORD] - Nouvelle Page


Sujet :

C#

  1. #1
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 103
    Par défaut [WORD] - Nouvelle Page
    Bonjour,

    Je suis en train d'effectuer un programme pour generer des documents word.

    Je voudrai pouvoir effectuer plusieurs actions:

    - Ajouter un saut de page après chaque graphique.

    J'avais tenté de faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                object pageBreak = (object)WdBreakType.wdPageBreak;
                Document.Range().InsertBreak(ref pageBreak);
    Mais cela insert le saut de page au début et non à la fin.
    J'avais réussi à ajouter une page en ajoutant un deuxieme graphe qui etait trop grand pour tenier avec le premier sur la meme page.

    - Ajouter un boite de texte en haut à droite de chaque page (n'ayant pas les meme données).
    Comment faire pour selectionner une page en question pour y ajouter mes données ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                MSWord.Shapes shapes = WordEdition.Document.Shapes;
                MSWord.Shape textBox = shapes.AddTextbox(Microsoft.Office.Core.MsoTextOrientation.msoTextOrientationHorizontal, left, top, width, height);
    J'avais tenté ce code, mais si on met un nombre de pixel superieur à la taille de la feuille, il va hors de la feuille et non sur la feuille suivante.

    Avez vous des exemples de codes pour pouvoir m'aider ?
    Merci de votre aide.
    Flow

  2. #2
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 103
    Par défaut
    Re-Bonjour,

    J'ai trouvé une methode intermediaire pour obtenir ce que je souhaite.

    Je vais creer le document page à page et ensuite les réunir ensemble.

    Via Word, ca a l'air de fonctionner correctement.
    Par contre, je ne vois pas comment le faire en c# et ce malgré mes recherches sur google.

    Auriez vous une idée ?
    Merci.

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Par défaut
    Bonjour,

    J'ai l'impression que ton principale problème finalement c'est de positionner correctement tes éléments, que ce soit le saut de page ou la boite de texte.

    J'ai par le passé fait pas mal d'interop et autre automation de Word.
    L'idée pour placer les éléments, pour ce que je me souvient, c'est, comme dans word, de sélectionner une zone et de placer l'élément.

    J'ai retrouvé rapidement un bout de code ou je mettais un logo au tout début de mes documents word générés, c'est pas tout à fait ce que tu cherches mais bon...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                    object what = Word.WdGoToItem.wdGoToLine; //je vais selectionner une ligne
                    object which = Word.WdGoToDirection.wdGoToFirst; // la premiere
                    appWord.Selection.GoTo(ref what, ref which, ref missing, ref missing); //je fais la sélection, en gros si on étant en interactif la après ça la première ligne du document serait bleue :)
     
                    appWord.ActiveDocument.InlineShapes.AddPicture(filename, ref linkToFile, ref saveWithDocument, ref missing);
    Sinon, pour positionner encore plus simplement les éléments il suffit de déplacer le curseur avant de placer les éléments.

    Bon code, (et bon courage il en faut pour de l'interop)
    J@ck.

  4. #4
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 103
    Par défaut
    Merci de ta réponse.
    En faite, j'ai reussi à faire ce que je voulais. Je fais séparément mes feuilles et les assembles l'une après l'autre en mettant le curseur au début.
    Pas spécialement élegant, mais c'est efficace !

    Merci encore.
    F.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 26
    Dernier message: 27/11/2008, 14h39
  2. Insérer une nouvelle page dans word
    Par aba_tarn dans le forum VBA Access
    Réponses: 3
    Dernier message: 12/11/2008, 09h39
  3. WORD : Ajouter une nouvelle page
    Par salrouge dans le forum Windows Forms
    Réponses: 4
    Dernier message: 05/06/2007, 10h17
  4. Ouvrir un document Word présent sur le serveur dans une nouvelle page+enregistrement
    Par kenny49 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 16/04/2007, 15h50
  5. Réponses: 3
    Dernier message: 07/06/2006, 21h35

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