void Choisir_FichierBase() { treeStructure.Nodes.Clear(); if (treeModele.SelectedNode == null) { return; } if (treeModele.SelectedNode.Nodes.Count > 0) { MessageBox.Show("Choisir un modèle"); return; } int ID = int.Parse(treeModele.SelectedNode.Name.Split('-')[1]); ModeleDoc md = (ModeleDoc)Acces.Trouver_Element(Acces.type_MODELEDOC, ID); OpenFileDialog f = new OpenFileDialog(); f.Title = "Choix du fichier de base"; f.InitialDirectory = Acces.CheminBase + "\\Modeles"; f.Filter = "*.docx|*.docx"; if (f.ShowDialog() == DialogResult.OK) { lblFichierBase.Text = f.FileName.Replace(Acces.CheminBase + "\\Modeles\\", ""); md.Acces = Acces; md.FichierBase = f.FileName.Replace(Acces.CheminBase + "\\Modeles\\", ""); Acces.Enregistrer(Acces.type_MODELEDOC, md); } }
void Ajouter_Modele() { if (treeModele.SelectedNode == null) { return; } int Parent_ID = int.Parse(treeModele.SelectedNode.Name.Split('-')[1]); Console.Ajouter("Parent_ID = " + Parent_ID); ModeleDoc mdl = new ModeleDoc(); mdl.Type_Modele = Type_Modele.MODELE; mdl.Parent_ID = Parent_ID; mdl.Code = "MDL-"; mdl.Ordre = treeModele.SelectedNode.Nodes.Count; frmModeleDoc f = new frmModeleDoc(); f.Acces = Acces; f.Creation = true; f.modele_doc = mdl; f.Parent_ID = Parent_ID; f.type_modele = Type_Modele.MODELE; f.Initialiser(); if (f.ShowDialog() == DialogResult.OK) { Afficher_ListeModele(); } }
void AjouterColonne() { if (treeModele.SelectedNode == null) { MessageBox.Show("Il faut sélectionner un modèle."); return; } if (treeModele.SelectedNode.Nodes.Count > 0) { MessageBox.Show("Il faut sélectionner un modèle."); return; } if (treeStructure.SelectedNode == null) { MessageBox.Show("Il faut sélectionner une ligne."); return; } string TypeElement = treeStructure.SelectedNode.Name.Split('-')[0]; int ID = int.Parse(treeStructure.SelectedNode.Name.Split('-')[1]); if (TypeElement != "LIGNE") { MessageBox.Show("Il faut sélectionner une ligne."); } ModeleDoc md_parent = (ModeleDoc)Acces.Trouver_Element(Acces.type_MODELEDOC, ID); ModeleDoc mdl = new ModeleDoc(); mdl.Code = "MDL-"; mdl.Parent_ID = ID; mdl.Type_Modele = Type_Modele.COLONNE; mdl.Ordre = treeStructure.Nodes.Count; mdl.Code = md_parent.Code; frmModeleDoc f = new frmModeleDoc(); f.Acces = Acces; f.Creation = true; f.modele_doc = mdl; f.type_modele = Type_Modele.COLONNE; f.Console = Console; f.Initialiser(); if (f.ShowDialog() == DialogResult.OK) { Afficher_Modele(); TreeNode[] lNd = treeStructure.Nodes.Find("COLONNE-" + f.modele_doc.ID.ToString(), true); if (lNd.Length != 0) { treeStructure.SelectedNode = lNd[0]; } } }
void Supprimer_Modele() { if (treeModele.SelectedNode == null) { return; } if (treeModele.SelectedNode.Nodes.Count > 0) { MessageBox.Show("Il faut supprimer tous les modèles pour ce type"); return; } int ID = int.Parse(treeModele.SelectedNode.Name.Split('-')[1]); ModeleDoc md = (ModeleDoc)Acces.Trouver_Element(Acces.type_MODELEDOC, ID); Acces.Supprimer_Element(Acces.type_MODELEDOC, md); Afficher_ListeModele(); }
void Afficher_Tab() { modele_doc = null; if (treeStructure.SelectedNode == null) { return; } string type = treeStructure.SelectedNode.Name.Split('-')[0]; int ID = int.Parse(treeStructure.SelectedNode.Name.Split('-')[1]); modele_doc = (ModeleDoc)Acces.Trouver_Element(Acces.type_MODELEDOC, ID); lblLibelle.Text = modele_doc.Libelle; lblEntete.Text = "MDL"; lblRef.Text = modele_doc.Code.Replace("MDL-", ""); OptActive.Checked = modele_doc.Actif; tabElement.TabPages[0].Enabled = false; tabElement.TabPages[1].Enabled = false; tabElement.TabPages[2].Enabled = false; if (type == "ZONE") { tabElement.SelectedIndex = 0; tabElement.TabPages[0].Enabled = true; lblConditionZone.Text = modele_doc.Condition; } if (type == "LIGNE") { tabElement.SelectedIndex = 1; tabElement.TabPages[1].Enabled = true; lblConditionLigne.Text = modele_doc.Condition; } if (type == "COLONNE") { tabElement.SelectedIndex = 2; tabElement.TabPages[2].Enabled = true; lblTexteColonne.Text = modele_doc.Contenu; lblBordureColonne.Text = modele_doc.Bordure; lstAlignementColonne.Text = modele_doc.Alignement.ToString(); lblPct.Value = modele_doc.Taille; } }
void Modifier_Modele() { if (treeModele.SelectedNode == null) { return; } string Module = treeModele.SelectedNode.Name.Split('-')[0]; int ID = int.Parse(treeModele.SelectedNode.Name.Split('-')[1]); ModeleDoc md = (ModeleDoc)Acces.Trouver_Element(Acces.type_MODELEDOC, ID); if (Module == "TYPE") { string Libelle = Microsoft.VisualBasic.Interaction.InputBox("Saisir le libellé du type de modèle", "Création d'un type de modèle", md.Libelle); if (Libelle.Length == 0 || md.Libelle == Libelle) { return; } md.Libelle = Libelle; Acces.Enregistrer(Acces.type_MODELEDOC, md); treeModele.SelectedNode.Text = Libelle; } if (Module == "MODELE") { frmModeleDoc f = new frmModeleDoc(); f.Acces = Acces; f.Creation = false; f.modele_doc = md; f.Parent_ID = md.Parent_ID; f.Initialiser(); if (f.ShowDialog() == DialogResult.OK) { treeModele.SelectedNode.Text = f.modele_doc.Libelle; } } }
void Ajouter_TypeModele() { string Libelle = Microsoft.VisualBasic.Interaction.InputBox("Saisir le libellé du type de modèle", "Création d'un type de modèle"); if (Libelle.Length == 0) { return; } ModeleDoc md = new ModeleDoc() { Acces = Acces, }; md.Libelle = Libelle; md.Type_Modele = Type_Modele.DOSSIER; md.Actif = true; md.Ordre = treeModele.Nodes.Count; Acces.Ajouter_Element(Acces.type_MODELEDOC, md); Afficher_ListeModele(); }
void Enregistrer() { if (treeStructure.SelectedNode == null) { MessageBox.Show("Sélectionner une zone, une ligne ou une colonne", "Erreur", MessageBoxButtons.OK); return; } var Libelle = lblLibelle.Text.Trim(); var code = lblEntete.Text + "-" + lblRef.Text.ToUpper(); if (lblRef.Text.Length == 0) { MessageBox.Show("Référence obligatoire", "Erreur", MessageBoxButtons.OK); return; } string type = treeStructure.SelectedNode.Name.Split('-')[0]; int ID = int.Parse(treeStructure.SelectedNode.Name.Split('-')[1]); Type_Modele type_modele = Type_Modele.ZONE; modele_doc = (ModeleDoc)Acces.Trouver_Element(Acces.type_MODELEDOC, ID); if (type == "ZONE") { type_modele = Type_Modele.ZONE; } if (type == "LIGNE") { type_modele = Type_Modele.LIGNE; } if (type == "COLONNE") { type_modele = Type_Modele.COLONNE; } modele_doc.Acces = Acces; modele_doc.Code = code; modele_doc.Libelle = Libelle; modele_doc.Type_Modele = type_modele; modele_doc.Actif = OptActive.Checked; /*if (modele_doc.Type_Modele == Type_Modele.MODELE) * { * if (lstTypeModele.SelectedIndex < 0) { MessageBox.Show("Type de modèle ?"); return; } * var p_ID = listeTypeModele[lstTypeModele.SelectedIndex].ID; * modele_doc.Parent_ID = p_ID; * }*/ if (modele_doc.Type_Modele == Type_Modele.ZONE) { modele_doc.Condition = lblConditionZone.Text; } if (modele_doc.Type_Modele == Type_Modele.LIGNE) { modele_doc.Condition = lblConditionLigne.Text; } if (modele_doc.Type_Modele == Type_Modele.COLONNE) { modele_doc.Contenu = lblTexteColonne.Text; modele_doc.Taille = int.Parse(lblPct.Value.ToString()); modele_doc.Alignement = (Alignement)lstAlignementColonne.SelectedIndex; modele_doc.Bordure = lblBordureColonne.Text; } Acces.Enregistrer(Acces.type_MODELEDOC, modele_doc); }
public void Créer_Document(string Fichier_Modele, bool OptionPDF) { if (Fichier_Modele.Length == 0) { return; } int K = 0; //Nombre de paragraphes dans le document string fichier = Fichier_Modele + ".docx"; App = new Microsoft.Office.Interop.Word.Application(); Doc = new Microsoft.Office.Interop.Word.Document(); //Ouverture du modèle désigné ou celui par défaut if (System.IO.File.Exists(CheminTemp + "\\Modeles\\" + fichier)) { App.Documents.Open(CheminTemp + "\\Modeles\\" + fichier); Doc = App.ActiveDocument; } else { Doc = App.Documents.Add(); Doc.Activate(); } //Traitement des informations foreach (ModeleDoc md_Zone in listeModeleDoc) { //Traitement d'une zone if (md_Zone.Type_Modele == Type_Modele.ZONE) { //Traitement des lignes dans la zone foreach (ModeleDoc md_Ligne in listeModeleDoc) { if (md_Ligne.Type_Modele == Type_Modele.LIGNE && md_Ligne.Parent_ID == md_Zone.ID) { Doc.Paragraphs.Add(); Microsoft.Office.Interop.Word.Range table = Doc.Paragraphs[K + 1].Range; if (md_Ligne.Contenu == "SAUT_LIGNE") { table.InsertBreak(Microsoft.Office.Interop.Word.WdBreakType.wdPageBreak); } else { List <ModeleDoc> listeColonne = new List <ModeleDoc>(); //Détermine le nombre de colonnes composant la ligne foreach (ModeleDoc md_Colonne in listeModeleDoc) { if (md_Colonne.Type_Modele == Type_Modele.COLONNE && md_Colonne.Parent_ID == md_Ligne.ID) { listeColonne.Add(md_Colonne); } } //Création du tableau Microsoft.Office.Interop.Word.Table Tb = Doc.Tables.Add(table, 1, listeColonne.Count); Tb.PreferredWidth = 100; Tb.PreferredWidthType = Microsoft.Office.Interop.Word.WdPreferredWidthType.wdPreferredWidthPercent; //Traitement des colonnes dans la ligne for (int col = 0; col < listeColonne.Count; col++) { ModeleDoc md_Col = listeColonne[col]; Tb.Cell(1, col).Range.Text = md_Col.Contenu; //Alignement { if (md_Col.Alignement == Alignement.Gauche) { Tb.Cell(1, col).Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft; } if (md_Col.Alignement == Alignement.Centré) { Tb.Cell(1, col).Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter; } if (md_Col.Alignement == Alignement.Droit) { Tb.Cell(1, col).Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight; } if (md_Col.Alignement == Alignement.Justifié) { Tb.Cell(1, col).Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphJustify; } } //Bordures { if (md_Col.Bordure.Contains("L")) { Tb.Cell(1, col).Range.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderLeft].LineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle; } if (md_Col.Bordure.Contains("R")) { Tb.Cell(1, col).Range.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderRight].LineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle; } if (md_Col.Bordure.Contains("H")) { Tb.Cell(1, col).Range.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderTop].LineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle; } if (md_Col.Bordure.Contains("B")) { Tb.Cell(1, col).Range.Borders[Microsoft.Office.Interop.Word.WdBorderType.wdBorderBottom].LineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle; } } } //Redimensionne les colonnes for (int col = 0; col < listeColonne.Count; col++) { Tb.Columns[col].PreferredWidthType = Microsoft.Office.Interop.Word.WdPreferredWidthType.wdPreferredWidthPercent; Tb.Columns[col].PreferredWidth = float.Parse(listeColonne[col].Taille.ToString()); } } } } } } //Sauvegarde du fichier { string Nom_Doc = string.Format("{0:yyyyMMddHHmmsssfff}", DateTime.Now); string fichier_dest = CheminTemp + "\\" + Nom_Doc + ".docx"; Doc.SaveAs(fichier_dest); if (OptionPDF) { string fichier_pdf = CheminTemp + "\\" + Nom_Doc + ".pdf"; Doc.ExportAsFixedFormat(fichier_pdf, paramExportFormat, paramOpenAfterExport, paramExportOptimizeFor, paramExportRange, paramStartPage, paramEndPage, paramExportItem, paramIncludeDocProps, paramKeepIRM, paramCreateBookmarks, paramDocStructureTags, paramBitmapMissingFonts, paramUseISO19005_1); System.Diagnostics.Process.Start(fichier_pdf); //Ouverture Doc.SaveAs(fichier_dest); App.Quit(); } else { App.Visible = true; App.Activate(); } } }