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

VBA Word Discussion :

[VBA] Serveur activeX documentation des commandes


Sujet :

VBA Word

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 27
    Par défaut [VBA] Serveur activeX documentation des commandes
    Je cherche de la documentation sur les commandes que je peux utiliser avec qui un serveur activeX qui commande word. Quelqu'un peux t il m'indiquer ou je peux trouver ça (même si c'est payant)?

    Sinon je cherche un moyen pour copier une partie d'un document dans un autre document, avant j'utilisais en une boucle qui copier paragraphe par paragraphe les éléments qui m'intéresse mais celà pose un problème quand il y a un tableau dans mon fichier de base.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    hparag=sourcedoc.paragraphs;
    hparag2=sinkdoc.paragraphs;
    for m = start_parag : end_parag
        hparag.Item(m).Range.Copy;
        hparag2.Item(m-strat_parag+1).Range.Paste;
    end
    J'ai vu qu'il existais un élément Tables mais le problème c'est comme je ne connais que les numéros de paragraphes qui m'interesse je ne sais pas si je dois les copier ou non.

    Sinon je pensais qu'une autre possibilité serais, connaissant les numéros de paragraphes qui m'interesse, de selectionner tous les paragraphes qui m'interesse (j'ai vu qu'on peux selectionner un élément paragraphe mais je ne sais pas si on peux ajouter un paragraphe à une selection déjà faite), de les copier, et de les coller dans mon nouveau documents. Quelqu'un as une idée de comment ajouter un paragraphe à une selection déjà (cette selection pouvant etre vide à la base)?

    Exemple: ci-joint un type de fichier dont je dois recupérer une partie du texte.
    Je dois récupérer de l'ensemble du texte de "@balise type1@" (inclu) à "@balise type3@" (non inclu) dans un premier fichier puis tout de "@balise type3@" (inclu) à "@balise type3bis@" (non inclu) dans un deuxieme fichier et je dois mettre tout de "@balise type3bis@" à la fin dans un dernier fichier.

    Quelqu'un aurais une solution pour mes problèmes? (doc et programmation)

    edit : suppression du fichier attaché pour libérer de la mémoire

  2. #2
    Expert confirmé
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Par défaut Réponse (partielle) sur la copie de fichiers Word
    Salut,

    Pour recopier ds blocs complets, il ne faut pas utiliser les range de VBA mais se basé sur le contenu de la doc. Je te propose le truc suivant (qui marche toujours dans ton cas)
    Tu recherches ton 1er marqueur
    Tu passes en mode "Extension" de Sélection
    Tu recherches ton 2eme marqueur
    Tu le déselectionnes
    Tu copies
    Tu crées ton nouveau fichier
    Tu colles
    Tu sauvegardes
    Tu repasses en mode "Extension" de Sélection
    Tu recherches ton 3eme marqueur
    Tu le déselectionnes
    Tu copies
    Tu crées ton nouveau fichier
    Tu colles
    Tu sauvegardes
    Tu selectionnes jusqu'à la fin
    Tu copies
    Tu crées ton nouveau fichier
    Tu colles
    Tu sauvegardes
    c'est fini


    voici le code
    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
    44
    45
    46
    47
    48
    49
    50
    Sub CopiesParBloc()
    '
    ' CopiesParBloc Macro
    ' Macro enregistrée le 23/11/07 par Sepia
    '
        Selection.Extend
        Selection.Find.ClearFormatting
        With Selection.Find
            .Text = "@ balise type3@"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute
        Selection.HomeKey Unit:=wdLine, Extend:=wdExtend
        Selection.ExtendMode = False
        Selection.Copy
        Documents.Add DocumentType:=wdNewBlankDocument
        Selection.PasteAndFormat (wdPasteDefault)
        ActiveDocument.SaveAs FileName:="1.doc", FileFormat:=wdFormatDocument
        ActiveDocument.Close
     
     
        Selection.MoveRight Unit:=wdCharacter, Count:=1
        Selection.Extend
        Selection.Find.Text = "@ balise type3bis@"
        Selection.Find.Execute
        Selection.HomeKey Unit:=wdLine, Extend:=wdExtend
        Selection.ExtendMode = False
        Selection.Copy
        Documents.Add DocumentType:=wdNewBlankDocument
        Selection.PasteAndFormat (wdPasteDefault)
        ActiveDocument.SaveAs FileName:="2.doc", FileFormat:=wdFormatDocument
        ActiveDocument.Close
     
     
        Selection.MoveRight Unit:=wdCharacter, Count:=1
        Selection.EndKey Unit:=wdStory, Extend:=wdExtend
        Selection.Copy
        Documents.Add DocumentType:=wdNewBlankDocument
        Selection.PasteAndFormat (wdPasteDefault)
        ActiveDocument.SaveAs FileName:="2.doc", FileFormat:=wdFormatDocument
        ActiveDocument.Close
    End Sub
    A+

  3. #3
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    FAQ

    Possible que le lien vers la faq va te venir en aide.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 27
    Par défaut
    Merci pour les réponses ça m'a bien aidé.

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

Discussions similaires

  1. Exécuter des commandes UNIX sur un serveur distant
    Par floctc dans le forum Langage
    Réponses: 14
    Dernier message: 31/03/2010, 17h32
  2. Réponses: 11
    Dernier message: 30/06/2008, 13h15
  3. Réponses: 6
    Dernier message: 19/11/2007, 11h06
  4. Envoyer des commands a un serveur ftp
    Par sitirna dans le forum C++Builder
    Réponses: 3
    Dernier message: 02/09/2006, 12h16
  5. Réponses: 21
    Dernier message: 31/01/2006, 16h39

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