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

VB.NET Discussion :

VB.net Word champ text et indexes


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Chargé de commercialisation
    Inscrit en
    Août 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé de commercialisation
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2013
    Messages : 46
    Par défaut VB.net Word champ text et indexes
    Bonsoir,

    voilà je cherchais comme tant d'autre à modifier un champ texte dans word à l'aide de la fonction range.

    Tout se passe bien mais l'index est écrasé au moment du changement. Or, je ne peux pas me permettre de perdre les index du documents même après modification puisqu'ils sont réutilisés dans une autre appli derrière

    J'ai essayé d'tiliser la fonction select ... mais je n'arrive pas non plus à de bon resultats.

    j'ai vu des codes sur la fonction select qui passent en suite à une autre (selection) que je n'arrive pas non plus à intégrer dans mon code

    voici ce que j'ai fait:
    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
     
            Dim oW As Microsoft.Office.Interop.Word.Application
            Dim OwD As Microsoft.Office.Interop.Word.Document
     
            Dim oWr As Microsoft.Office.Interop.Word.Range
     
     
            oW = New Microsoft.Office.Interop.Word.Application
            OwD = oW.Documents.Open("C:\Users\florent\Documents\MANU_DEV\HLMPROSUITS\MODELES\PUB_MODEL1.docx", [ReadOnly]:=False)
            ' Initialisation de la variable
     
            OwD.Bookmarks.Item("texte19").Range.Text = Today
            oWr.range.Text = Today
            'CECI EFFACE L INDEX 
            oWr = OwD.Bookmarks.Item("texte3").Range
            oWr.Text = TextBox40.Text
            oWr = OwD.Bookmarks.Item("texte4").Range
            oWr.Text = Label51.Text
            oWr = OwD.Bookmarks.Item("texte26").Range
            oWr.Text = Label52.Text
            oWr = OwD.Bookmarks.Item("texte6").Range
            oWr.Text = TextBox5.Text & " " & TextBox6.Text
     
            If Label65.Text = "Appartement" Then
                OwD.FormFields("CaseACocher2").CheckBox.Value = True
            ElseIf Label65.Text = "Maison" Then
                OwD.FormFields("CaseACocher1").CheckBox.Value = True
            Else
                oWr = OwD.Bookmarks.Item("texte12").Range
                oWr.Text = Label65.Text
            End If
     
     
     
            oW.Visible = True
    peut on conserver l'index ? si non peut on le recréer juste au moment de sa destruction ?

    merci de votre aide

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,


    Citation Envoyé par manuly Voir le message
    Bonsoir,

    voilà je cherchais comme tant d'autre à modifier un champ texte dans word à l'aide de la fonction range.

    Tout se passe bien mais l'index est écrasé au moment du changement. Or, je ne peux pas me permettre de perdre les index du documents même après modification puisqu'ils sont réutilisés dans une autre appli derrière


    merci de votre aide
    J'avoue que je ne comprends pas bien ta question parce que Range n'est pas une fonction, et que pour VBA et pour Word, les index sont des termes précis utilisés dans des circonstances précises. De plus, si tu veux passer tous les signets de ton document, tu n'as probablement pas besoin d'utiliser un objet Range. Je crois comprendre que tu ne veux pas perdre tes signets (Bookmarks) dans certaines circonstances. Mais, quand un champ est écrasé c'est le comportement normal de Word (du moins à ma connaissance), d'effacer aussi le signet, si le signet correspond au champ. Si ton signet est placé juste à côté de ton champ, tu devrais, du moins je suppose, le conserver.

    Je pense, que si ce que tu appelles index sont des signets, ce serait intéressant que tu le confirmes, et, également, confirmer si tes signets sont directement sur tes champs, ou à côté.

  3. #3
    Membre actif
    Homme Profil pro
    Chargé de commercialisation
    Inscrit en
    Août 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé de commercialisation
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2013
    Messages : 46
    Par défaut
    Bonsoir,

    oui en effet je parle de signets. Maintenant mon cas est un peu particulier. Je vais tâcher d'être clair autant que possible:

    à chaque endroit où ce document word doit être modifié il y a un champ texte ( qui n'a pas de nom) mais qui a un signet

    je voudrais modifier la zone texte de cet objet mais je ne sais pas qu'elle est son nom ni dans quelle ligne de code je dois utiliser pour attaquer juste le contenu et non le contenant ou ce qui me permet de les identifier.

    voici un screen de ce dont je parle histoire d'être plus explicite car je sens que j ai du mal à dire ce que je souhaiterais faire :


    après avoir vue cette photo je veux juste inscrire mes données dans la valeur texte par défaut ... c'est tout

    merci pour votre aide.

  4. #4
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Il y a une autre technique qui me semble plus simple que les champs texte :

    On définit le document à modifier ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Date : µdate
    ...
    Téléphone : µtel
    ...
    Il ne reste plus qu'à utiliser la fonction de remplacement sur "µdate" et "µtel".

  5. #5
    Membre actif
    Homme Profil pro
    Chargé de commercialisation
    Inscrit en
    Août 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé de commercialisation
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2013
    Messages : 46
    Par défaut
    yes vous avez pleinement raison, mais malheureusement ceci est une contrainte pour moi et non un choix. je dois me plier au modèle de document. Ce serait quand même étonnant que ....

    la seule solution possible serait de pouvoir créer l'objet lui donné un bookmark et le remplir mais voila mon problème c'est le remplir. Je ne vois rien de possible dans la propriété formfields .... le plus dingue c'est que dans formfields j'ai la fameuse checkbox .....
    je peux également renommé mon bookmark de mon champ texte ou ahir sur les macros E/S ... mais pas le texte ....

  6. #6
    Membre actif
    Homme Profil pro
    Chargé de commercialisation
    Inscrit en
    Août 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé de commercialisation
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2013
    Messages : 46
    Par défaut
    Je ne voudrais pas abuser mais je fais un petit Up du coup suis en manque d'idées sur le sujet ....

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

Discussions similaires

  1. Erreur sur champ text pour un index Full-Text
    Par Steph82 dans le forum Outils
    Réponses: 5
    Dernier message: 06/01/2011, 14h08
  2. [VB.NET] Ecrire dans un champs texte ecrit en HTML
    Par mael94420 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 12/10/2006, 19h01
  3. [VB.NET] pilotage word : champ de formulaire
    Par Kropernic dans le forum Windows Forms
    Réponses: 2
    Dernier message: 30/07/2006, 12h15
  4. [CR9][VS.NET]Masquer un champ texte
    Par San Soussy dans le forum SDK
    Réponses: 4
    Dernier message: 25/08/2005, 11h46
  5. [VB.NET]Retour chariot dans un champ texte
    Par San Soussy dans le forum ASP.NET
    Réponses: 10
    Dernier message: 23/06/2005, 12h36

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