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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
| Public Sub MAIN()
Dim SourceName$
Dim iTotalResAG
Dim iTotalResNAG
Dim iNbCol
Dim TitreEtat$
Dim TypeAss$
Dim Depositaire$
Dim DateDepot$
Dim NumDepot$
SourceName$ = WordBasic.[GetDocumentVar$]("FusionSource")
iTotalResAG = WordBasic.Val(WordBasic.[GetDocumentVar$]("TotalResAG"))
iTotalResNAG = WordBasic.Val(WordBasic.[GetDocumentVar$]("TotalResNAG"))
iNbCol = WordBasic.Val(WordBasic.[GetDocumentVar$]("NbCol"))
TitreEtat$ = WordBasic.[GetDocumentVar$]("TitreEtat")
TypeAss$ = WordBasic.[GetDocumentVar$]("TypeAss")
Depositaire$ = WordBasic.[GetDocumentVar$]("Depositaire")
DateDepot$ = WordBasic.[GetDocumentVar$]("DateDepot")
NumDepot$ = WordBasic.[GetDocumentVar$]("NumDepot")
If iNbCol < 23 Then
' Creation du tableau à 1 Ligne et iNbCol Colonnes
Call InsererTableauVPC.MAIN
'WordBasic.ToolsMacro Name:="InsererTableauVPC", Run:=1, Show:=3, Description:="", NewName:=""
Else ' Création de 2 Tableaux
If iTotalResAG > 0 Then
If iTotalResAG < 20 Then
' Séparation du tableau en deux : 1 pour les Rés AG, 1 autre pour les Rés NAG
Call InsererTabMoitieAG.MAIN
'WordBasic.ToolsMacro Name:="InsererTabMoitieAG", Run:=1, Show:=3, Description:="", NewName:=""
If (iTotalResNAG > 0) Then ' Il y des Res NAG
WordBasic.CharRight 4
Call InsererTabMoitieNAG.MAIN
'WordBasic.ToolsMacro Name:="InsererTabMoitieNAG", Run:=1, Show:=3, Description:="", NewName:=""
End If
Else ' iTotalResAG > 19
' Séparation du tableau en deux parties inegales
Call InsererTab1AGNAG.MAIN
'WordBasic.ToolsMacro Name:="InsererTab1AGNAG", Run:=1, Show:=3, Description:="", NewName:=""
WordBasic.CharRight 4
Call InsererTab2AGNAG.MAIN
'WordBasic.ToolsMacro Name:="InsererTab2AGNAG", Run:=1, Show:=3, Description:="", NewName:=""
End If
Else
If (iTotalResNAG > 0) Then ' Il y des Res NAG
WordBasic.StartOfDocument
WordBasic.LineDown 9
WordBasic.CharRight 4
Call InsererTabMoitieNAG.MAIN
'WordBasic.ToolsMacro Name:="InsererTabMoitieNAG", Run:=1, Show:=3, Description:="", NewName:=""
End If
End If
End If
WordBasic.EditReplace Find:="@TITRE_ETAT@", Replace:=TitreEtat$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
WordBasic.EditReplace Find:="@ASSEMBLEE@", Replace:=TypeAss$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
WordBasic.EditReplace Find:="@DEPOSITAIRE@", Replace:=Depositaire$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
WordBasic.EditReplace Find:="@DATE_DEPOT@", Replace:=DateDepot$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
WordBasic.EditReplace Find:="@NUMERO_DEPOT@", Replace:=NumDepot$, Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceOne:=1, Format:=0, Wrap:=1, FindAllWordForms:=0
' Fusion
WordBasic.MailMergeOpenDataSource Name:=SourceName$, ConfirmConversions:=0, ReadOnly:=0, LinkToSource:=1, AddToMru:=0, PasswordDoc:="", PasswordDot:="", Revert:=0, WritePasswordDoc:="", WritePasswordDot:="", Connection:="", SQLStatement:="", SQLStatement1:=""
WordBasic.MailMerge CheckErrors:=2, Destination:=0, MergeRecords:=0, From:="", To:="", Suppression:=0, MailMerge:=1, MailSubject:="", MailAsAttachment:=0, MailAddress:=""
Call SupprimerArobase.MAIN
' WordBasic.ToolsMacro Name:="SupprimerArobase", Run:=1, Show:=0, Description:="", NewName:=""
Call FermerModele.MAIN
'WordBasic.ToolsMacro Name:="FermerModele", Run:=1, Show:=0, Description:="", NewName:=""
WordBasic.StartOfDocument
End Sub
Macro InsererTab1AGNAG.MAIN:
Public Sub MAIN()
Dim iTotalResAG
Dim iTotalResNAG
Dim iNbCol
Dim i
Dim FusionField$
iTotalResAG = WordBasic.Val(WordBasic.[GetDocumentVar$]("TotalResAG"))
iTotalResNAG = WordBasic.Val(WordBasic.[GetDocumentVar$]("TotalResNAG"))
iNbCol = WordBasic.Val(WordBasic.[GetDocumentVar$]("NbCol"))
' Creation de l'en-tete du tableau à 1 ligne et iTotalResAG Colonnes
WordBasic.ToolsMacro Name:="CreerEnTete1AGNAG", Run:=1, Show:=3, Description:="", NewName:=""
' Creation du tableau à 1 Ligne et iTotalResAG Colonnes
WordBasic.TableInsertTable ConvertFrom:="", NumColumns:=Str(19 + 3), NumRows:="1", InitialColWidth:="Auto", Format:="0", Apply:="167"
' Insertion des Champs de Fusion Abrege, Compte, Nom
WordBasic.InsertMergeField MergeField:="ABREGE", WordField:=-1
'ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, _
Name:="ABREGE"
WordBasic.NextCell
WordBasic.InsertMergeField MergeField:="COMPTE", WordField:=-1
WordBasic.NextCell
WordBasic.InsertMergeField MergeField:="NOM_ACTIONNAIRE", WordField:=-1
WordBasic.NextCell
' Insertion des Champs de Fusion pour les Resolutions Agréées
For i = 4 To (2 + 19)
FusionField$ = "RES_" + WordBasic.[LTrim$](Str(i - 3))
WordBasic.InsertMergeField MergeField:=FusionField$, WordField:=-1
WordBasic.NextCell
Next i
FusionField$ = "RES_" + WordBasic.[LTrim$](Str(19))
WordBasic.InsertMergeField MergeField:=FusionField$, WordField:=-1
' Mise en forme du Tableau
WordBasic.TableSelectTable
WordBasic.CenterPara
WordBasic.FormatBordersAndShading ApplyTo:=3, Shadow:=0, TopBorder:=1, LeftBorder:=1, BottomBorder:=1, RightBorder:=1, HorizBorder:=1, VertBorder:=1, TopColor:=0, LeftColor:=0, BottomColor:=0, RightColor:=0, HorizColor:=0, VertColor:=0, FromText:="0 pt", Shading:=0, Foreground:=0, Background:=0, Tab:="0", FineShading:=-1
WordBasic.TableRowHeight RulerStyle:="0", LineSpacingRule:=0, LineSpacing:="", LeftIndent:="0 cm", Alignment:=1, AllowRowSplit:=1
WordBasic.CharLeft 1
WordBasic.TableColumnWidth ColumnWidth:="1,6 cm", SpaceBetweenCols:="0,38 cm", RulerStyle:="0"
WordBasic.NextCell
WordBasic.TableColumnWidth ColumnWidth:="1,2 cm", SpaceBetweenCols:="0,38 cm", NextColumn:=1, RulerStyle:="0"
WordBasic.TableColumnWidth ColumnWidth:="6 cm", SpaceBetweenCols:="0,38 cm", RulerStyle:="0"
WordBasic.LeftPara
WordBasic.NextCell
WordBasic.CharRight (19), 1
WordBasic.TableColumnWidth ColumnWidth:="0,98 cm", SpaceBetweenCols:="0,38 cm", RulerStyle:="0"
End Sub |
Partager