luudii34
Messages postés24Date d'inscriptionvendredi 18 avril 2008StatutMembreDernière intervention16 avril 2013
-
9 mars 2009 à 13:43
luudii34
Messages postés24Date d'inscriptionvendredi 18 avril 2008StatutMembreDernière intervention16 avril 2013
-
9 mars 2009 à 15:17
Bonjour,
J'aimerai bien faire un publipostage sous Word, j'ai donc utilisé plusieurs tutoriaux pour faire mon code, mais j'ai un souci au niveau de mon publipostage; je n'arrive pas à mettre mes pages à la suite, à chaque fois un nouveau document word s'ouvre, je ne sais pas comment dire dans mon code que:
à chaque ligne de mon datagridview il doit y avoir une nouvelle page(identique au modèle avec mes champs de formulaire) avec dans le contenu des champs, les champs de la ligne suivante de mon datagridview.
Voici mon code:
private void publipostageToolStripMenuItem_Click(object sender, EventArgs e)
{
//Connexion à Word
Word.Application msWord = new Microsoft.Office.Interop.Word.Application();
msWord.Visible=true;
object missing= System.Reflection.Missing.Value;
//création d'un nouveau document
Word.Document nvDoc;
//Choix du modèle
object templatename = @"F:\cours\Cours\EPTI\Stage\lettre.dot";
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{//Création du doc
nvDoc = msWord.Documents.Add(ref templatename, ref missing, ref missing, ref missing);
//Remplissage de champs de formulaire
object field="Nom";
nvDoc.FormFields.get_Item(ref field).Result= dataGridView1["nMCLIDataGridViewTextBoxColumn", i].Value.ToString();
field="Adresse";
nvDoc.FormFields.get_Item(ref field).Result = dataGridView1["lBADR1DataGridViewTextBoxColumn", i].Value.ToString();
field="Complément";
nvDoc.FormFields.get_Item(ref field).Result = dataGridView1["lBADR2DataGridViewTextBoxColumn", i].Value.ToString();
field="Cp";
nvDoc.FormFields.get_Item(ref field).Result = dataGridView1["cDPOSTDataGridViewTextBoxColumn", i].Value.ToString();
field="Ville";
nvDoc.FormFields.get_Item(ref field).Result = dataGridView1["lBVILLDataGridViewTextBoxColumn", i].Value.ToString();
field = "Immatriculation";
nvDoc.FormFields.get_Item(ref field).Result = dataGridView1["aUTMATDataGridViewTextBoxColumn", i].Value.ToString();
field = "Motif";
nvDoc.FormFields.get_Item(ref field).Result = comboBox1.GetItemText(comboBox1.SelectedItem);
field="duree";
string dureeD;
dureeD = null;
if (comboBox1.GetItemText(comboBox1.SelectedItem) == "Jaugeage")
{
dureeD = "3 ans";
}