Traduction de ce morceau de code C# en vb

cs_mary62 Messages postés 8 Date d'inscription mercredi 9 mars 2011 Statut Membre Dernière intervention 28 août 2011 - 28 août 2011 à 11:34
seb4stien13 Messages postés 31 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 11 septembre 2011 - 4 sept. 2011 à 18:26
Bonjour

Pouvez vous m'aidez à traduire ce code qui est du C# en vb net
Je ne connais pas du tout le C# et on m'a aidé dans une application vb avec cet exemple.

Merci d'avance

Voici le code :

private void button1_Click(object sender, EventArgs e)
{
    Word.Application application = new Word.Application();

    Word.Document document = application.Documents.Open(@"C:\exempleInterop.docx");

    SearcheAndReplace("{nom}", nomTextBox.Text, application);
    SearcheAndReplace("{prenom}", prenomTextBox.Text, application);
    SearcheAndReplace("{ville}", villeTextBox.Text, application);

   
    document.SaveAs2(@"C:\documentFromCode.docx");
}

private void SearcheAndReplace(string toReplace, string replacementString, Word.Application applicationWhereToReplace)
{

    Word.Find find = applicationWhereToReplace.Selection.Find;
    find.ClearFormatting();
    find.Text = toReplace;
    find.Replacement.ClearFormatting();
    find.Replacement.Text = replacementString;

      object replaceAll = Word.WdReplace.wdReplaceAll;
    find.Execute(Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
        ref replaceAll, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
}

7 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 août 2011 à 11:44
Bonjour,
Tu ne connais pas C#, mais tu connais VB, hein ?

On va donc te traduire en français.
Ce code :
définit un objet Word (application Word)
puis
définit un document Word qu'il ouvre
Au sein de ce document Word, il remplace des chaînes de caractères par d'autres. Est pour cela utilisée une fonction (SearcheAndReplace) à laquelle sont envoyés les paramètres chaine_à_remplacer et chaîne_de_remplacement, ainsi que la méthode de remplacement. Cette fonction ne retourne aucune valeur (Ce n'est donc qu'une procédure)
Voilà.
T'as plus qu'à !



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 août 2011 à 12:10
Tu as surtout plus qu'à utiliser le convertisseur que la communauté met à la disposition de tout le monde

http://tools.codes-sources.com/DotNetCodeConverter.aspx


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
cs_mary62 Messages postés 8 Date d'inscription mercredi 9 mars 2011 Statut Membre Dernière intervention 28 août 2011
28 août 2011 à 12:39
J'obtiens ceci mais ça ne fonctionne toujours pas donc si vous pouviez me dire ce qui cloche
Public Class Form1

    Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
       
        Dim application As New Windows.Forms.Application()
        Dim document As Document.word = application.Documents.Open("C:\documentFromCode.docx")

        SearcheAndReplace("{nom}", nom.Text, application)
        SearcheAndReplace("{prenom}", prenom.Text, application)
        SearcheAndReplace("{ville}", ville.Text, application)

        document.SaveAs2("C:\documentFromCode.docx")
    End Sub

    Private Sub SearcheAndReplace(ByVal toReplace As String, ByVal replacementString As String, ByVal applicationWhereToReplace As Word.Application)
       
        Dim find As Word.Find = applicationWhereToReplace.Selection.Find
        find.ClearFormatting()
        find.Text = toReplace
        find.Replacement.ClearFormatting()
        find.Replacement.Text = replacementString

        Dim replaceAll As Object = Word.WdReplace.wdReplaceAll
        find.Execute(Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, _
         Type.Missing, Type.Missing, Type.Missing, Type.Missing, replaceAll, Type.Missing, _
         Type.Missing, Type.Missing, Type.Missing)
    End Sub
  
End Class






0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
28 août 2011 à 13:07
Bonjour,

"J'obtiens ceci mais ça ne fonctionne toujours pas"
Quel résultat, une réponse incorrecte (laquelle et quel résultat attendu), une erreur (message) ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 août 2011 à 13:10
Déjà, c'est pas compliqué de voir que les 2 premières lignes n'ont pas été correctement traduites
        Dim application As New Windows.Forms.Application()
        Dim document As Document.word = application.Documents.Open("C:\documentFromCode.docx")

à remplacer par
[code=vb] Dim application As New Word.Application()
Dim document As Word.Document = application.Documents.Open("C:\documentFromCode.docx")
[/code

Partisan du moindre effort ?

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
Utilisateur anonyme
28 août 2011 à 13:27
Bonsoir,
Tu as posté dans le forum vb6 mais bon...
Ton exemple de remplacement de mots est bien compliqué.
Voici un exemple simple.
Il faut bien entendu faire référence à word dans les propriétés du projet.
Dim app As New Word.Application
Dim doc As Word.Document = app.Documents.Open("Document1.doc")
doc.Content.Find.Execute(FindText:="{chat}", ReplaceWith:="chien", Replace:=Word.WdReplace.wdReplaceAll)
doc.Save()
doc.Close()
doc = Nothing
app.Quit()
app = Nothing

On peut bien entendu préciser d'autres critères de recherche (casse couleur texte etc...)
Bonne soirée.
0
seb4stien13 Messages postés 31 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 11 septembre 2011
4 sept. 2011 à 18:26
0
Rejoignez-nous