Comment générer des documents en supprimant la macro d'origine
3 réponses
Denel
Bonjour a tous,
Je vais essayer d'être plus clair :)
Je génére des documents grace à une macro contenu dans un modèle (.dot)
Il s'agit de lettres de relance, les données (champs dynamiques) étant
stockées dans sql server
Ca marche pas mal à part des petits soucis de mise en page mais je voudrais
surtout ques les documents word .doc générés soit débarrasé de leur macro
d'origine qui n'est plus utile une fois le traitement terminé.
Je suis sur que c'ets possible mais je ne trouves pas :)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Anacoluthe
Bonjour !
'Denel' nous a écrit ...
Je vais essayer d'être plus clair :) Je génére des documents grace à une macro contenu dans un modèle (.dot) Il s'agit de lettres de relance, les données (champs dynamiques) étant stockées dans sql server Ca marche pas mal à part des petits soucis de mise en page mais je voudrais surtout ques les documents word .doc générés soit débarrasé de leur macro d'origine qui n'est plus utile une fois le traitement terminé.
Merci de rester dans votre discussion : on a du mal à vous suivre.
Si vos macros sont dans votre modèle, il n'y a aucune raison de les retrouver dans les documents.... Il est difficile de comprendre ce que viennent faire les macros dans votre question : une requête SQL, un publipostage, fusion bingo : 5647 lettres de relance envoyées, zéro macro.
Anacoluthe « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. » - CONFUCIUS
Bonjour !
'Denel' nous a écrit ...
Je vais essayer d'être plus clair :)
Je génére des documents grace à une macro contenu dans un modèle (.dot)
Il s'agit de lettres de relance, les données (champs dynamiques) étant
stockées dans sql server
Ca marche pas mal à part des petits soucis de mise en page mais je voudrais
surtout ques les documents word .doc générés soit débarrasé de leur macro
d'origine qui n'est plus utile une fois le traitement terminé.
Merci de rester dans votre discussion : on a du mal à vous suivre.
Si vos macros sont dans votre modèle, il n'y a aucune raison
de les retrouver dans les documents....
Il est difficile de comprendre ce que viennent faire les macros
dans votre question : une requête SQL, un publipostage, fusion
bingo : 5647 lettres de relance envoyées, zéro macro.
Anacoluthe
« Je ne cherche pas à connaître les réponses,
je cherche à comprendre les questions. »
- CONFUCIUS
Je vais essayer d'être plus clair :) Je génére des documents grace à une macro contenu dans un modèle (.dot) Il s'agit de lettres de relance, les données (champs dynamiques) étant stockées dans sql server Ca marche pas mal à part des petits soucis de mise en page mais je voudrais surtout ques les documents word .doc générés soit débarrasé de leur macro d'origine qui n'est plus utile une fois le traitement terminé.
Merci de rester dans votre discussion : on a du mal à vous suivre.
Si vos macros sont dans votre modèle, il n'y a aucune raison de les retrouver dans les documents.... Il est difficile de comprendre ce que viennent faire les macros dans votre question : une requête SQL, un publipostage, fusion bingo : 5647 lettres de relance envoyées, zéro macro.
Anacoluthe « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. » - CONFUCIUS
Denel
Anacoluthe a écrit
Si vos macros sont dans votre modèle, il n'y a aucune raison de les retrouver dans les documents.... Il est difficile de comprendre ce que viennent faire les macros dans votre question : une requête SQL, un publipostage, fusion bingo : 5647 lettres de relance envoyées, zéro macro.
Merci de ta réponse.
je suis bien d'accord avec toi, mes macros ne devrait pas être dans mes documents généres et pourtant elle le sont quand même :)
Voila le code :
Private Sub Document_New() Dim myConn Dim myConn1 Dim myRecordset Dim mySql ' instanciation des objets ADO Set myConn = CreateObject("ADODB.Connection") Set myConn1 = CreateObject("ADODB.Connection") Set myRecordset = CreateObject("ADODB.Recordset") Set myRecordsetDetail = CreateObject("ADODB.Recordset") Set myRecordsetResponsableClient = CreateObject("ADODB.Recordset")
' Définir les propriétés de la connexion myConn.Open = "Provider=SQLOLEDB.1;Data Source¯I13012M; Initial Catalog¯irec ;user id = 'Applixxxx';password='xxxxx'" myConn1.Open = "Provider=SQLOLEDB.1;Data Source¯I13012M; Initial Catalog¯irec ;user id = 'Applixxxxx';password='xxxx'"
' Définir la requète SQL mySql = "SELECT * FROM [DU CLIENTS]"
'Ouvrir la connexion myRecordset.Open mySql, myConn myRecordset.MoveFirst
Do While Not myRecordset.EOF 'On Error Resume Next
' Définir la requète SQL pour la liste des responsables clients mySqlResponsableClient = "SELECT * FROM RESPONSABLECLIENT WHERE ClienAux '" & myRecordset.Fields.Item("ClienComptAux").Value & "'"
'Ouvrir la connexion pour la liste des responsables myRecordsetResponsableClient.Open mySqlResponsableClient, myConn1 myRecordsetResponsableClient.MoveFirst
' On Remplit la zone de texte contenant les détails Responsable.Caption myRecordsetResponsableClient.Fields.Item("ClienNomRespon").Value
' ON AFFICHE LES DETAILS mySqlDetail = "SELECT * FROM [DU CLIENTS DETAILS]WHERE ClienComptAux = '" & myRecordset.Fields.Item("ClienComptAux").Value & "'" myRecordsetDetail.Open mySqlDetail, myConn
myRecordsetDetail.MoveFirst
Tables(1).Rows.Select Do While Not myRecordsetDetail.EOF ' On Remplit la zone de texte contenant les détails Selection.TypeText (myRecordsetDetail.Fields.Item("ClienComptRefer").Value) Selection.MoveRight Unit:=wdCell Selection.TypeText (myRecordsetDetail.Fields.Item("ClienComptDate").Value) Selection.MoveRight Unit:=wdCell Selection.TypeText (myRecordsetDetail.Fields.Item("ClienEncaiNet").Value & " Euros") Selection.InsertRowsBelow 1
' On ferme le recordset responsable client myRecordsetResponsableClient.Close
myRecordset.MoveNext
Loop myRecordset.Close
myConn.Close myConn1.Close End Sub
Anacoluthe a écrit
Si vos macros sont dans votre modèle, il n'y a aucune raison
de les retrouver dans les documents....
Il est difficile de comprendre ce que viennent faire les macros
dans votre question : une requête SQL, un publipostage, fusion
bingo : 5647 lettres de relance envoyées, zéro macro.
Merci de ta réponse.
je suis bien d'accord avec toi, mes macros ne devrait pas être dans mes
documents généres et pourtant elle le sont quand même :)
Voila le code :
Private Sub Document_New()
Dim myConn
Dim myConn1
Dim myRecordset
Dim mySql
' instanciation des objets ADO
Set myConn = CreateObject("ADODB.Connection")
Set myConn1 = CreateObject("ADODB.Connection")
Set myRecordset = CreateObject("ADODB.Recordset")
Set myRecordsetDetail = CreateObject("ADODB.Recordset")
Set myRecordsetResponsableClient = CreateObject("ADODB.Recordset")
' Définir les propriétés de la connexion
myConn.Open = "Provider=SQLOLEDB.1;Data Source¯I13012M; Initial
Catalog¯irec ;user id = 'Applixxxx';password='xxxxx'"
myConn1.Open = "Provider=SQLOLEDB.1;Data Source¯I13012M; Initial
Catalog¯irec ;user id = 'Applixxxxx';password='xxxx'"
' Définir la requète SQL
mySql = "SELECT * FROM [DU CLIENTS]"
'Ouvrir la connexion
myRecordset.Open mySql, myConn
myRecordset.MoveFirst
Do While Not myRecordset.EOF
'On Error Resume Next
' Définir la requète SQL pour la liste des responsables clients
mySqlResponsableClient = "SELECT * FROM RESPONSABLECLIENT WHERE ClienAux '" & myRecordset.Fields.Item("ClienComptAux").Value & "'"
'Ouvrir la connexion pour la liste des responsables
myRecordsetResponsableClient.Open mySqlResponsableClient, myConn1
myRecordsetResponsableClient.MoveFirst
' On Remplit la zone de texte contenant les détails
Responsable.Caption myRecordsetResponsableClient.Fields.Item("ClienNomRespon").Value
' ON AFFICHE LES DETAILS
mySqlDetail = "SELECT * FROM [DU CLIENTS DETAILS]WHERE ClienComptAux = '" &
myRecordset.Fields.Item("ClienComptAux").Value & "'"
myRecordsetDetail.Open mySqlDetail, myConn
myRecordsetDetail.MoveFirst
Tables(1).Rows.Select
Do While Not myRecordsetDetail.EOF
' On Remplit la zone de texte contenant les détails
Selection.TypeText
(myRecordsetDetail.Fields.Item("ClienComptRefer").Value)
Selection.MoveRight Unit:=wdCell
Selection.TypeText
(myRecordsetDetail.Fields.Item("ClienComptDate").Value)
Selection.MoveRight Unit:=wdCell
Selection.TypeText (myRecordsetDetail.Fields.Item("ClienEncaiNet").Value
& " Euros")
Selection.InsertRowsBelow 1
Si vos macros sont dans votre modèle, il n'y a aucune raison de les retrouver dans les documents.... Il est difficile de comprendre ce que viennent faire les macros dans votre question : une requête SQL, un publipostage, fusion bingo : 5647 lettres de relance envoyées, zéro macro.
Merci de ta réponse.
je suis bien d'accord avec toi, mes macros ne devrait pas être dans mes documents généres et pourtant elle le sont quand même :)
Voila le code :
Private Sub Document_New() Dim myConn Dim myConn1 Dim myRecordset Dim mySql ' instanciation des objets ADO Set myConn = CreateObject("ADODB.Connection") Set myConn1 = CreateObject("ADODB.Connection") Set myRecordset = CreateObject("ADODB.Recordset") Set myRecordsetDetail = CreateObject("ADODB.Recordset") Set myRecordsetResponsableClient = CreateObject("ADODB.Recordset")
' Définir les propriétés de la connexion myConn.Open = "Provider=SQLOLEDB.1;Data Source¯I13012M; Initial Catalog¯irec ;user id = 'Applixxxx';password='xxxxx'" myConn1.Open = "Provider=SQLOLEDB.1;Data Source¯I13012M; Initial Catalog¯irec ;user id = 'Applixxxxx';password='xxxx'"
' Définir la requète SQL mySql = "SELECT * FROM [DU CLIENTS]"
'Ouvrir la connexion myRecordset.Open mySql, myConn myRecordset.MoveFirst
Do While Not myRecordset.EOF 'On Error Resume Next
' Définir la requète SQL pour la liste des responsables clients mySqlResponsableClient = "SELECT * FROM RESPONSABLECLIENT WHERE ClienAux '" & myRecordset.Fields.Item("ClienComptAux").Value & "'"
'Ouvrir la connexion pour la liste des responsables myRecordsetResponsableClient.Open mySqlResponsableClient, myConn1 myRecordsetResponsableClient.MoveFirst
' On Remplit la zone de texte contenant les détails Responsable.Caption myRecordsetResponsableClient.Fields.Item("ClienNomRespon").Value
' ON AFFICHE LES DETAILS mySqlDetail = "SELECT * FROM [DU CLIENTS DETAILS]WHERE ClienComptAux = '" & myRecordset.Fields.Item("ClienComptAux").Value & "'" myRecordsetDetail.Open mySqlDetail, myConn
myRecordsetDetail.MoveFirst
Tables(1).Rows.Select Do While Not myRecordsetDetail.EOF ' On Remplit la zone de texte contenant les détails Selection.TypeText (myRecordsetDetail.Fields.Item("ClienComptRefer").Value) Selection.MoveRight Unit:=wdCell Selection.TypeText (myRecordsetDetail.Fields.Item("ClienComptDate").Value) Selection.MoveRight Unit:=wdCell Selection.TypeText (myRecordsetDetail.Fields.Item("ClienEncaiNet").Value & " Euros") Selection.InsertRowsBelow 1
' On ferme le recordset responsable client myRecordsetResponsableClient.Close
myRecordset.MoveNext
Loop myRecordset.Close
myConn.Close myConn1.Close End Sub
Anacoluthe
Bonjour !
'Denel' nous a écrit ...
je suis bien d'accord avec toi, mes macros ne devrait pas être dans mes documents généres et pourtant elle le sont quand même :)
Si vous parlez du message d'alerte 'présence de macro' c'est normal tant que le document garde son modèle attaché ! Vérifiez les modules : ceux des documents sont vides, les macros sont et restent dans le modèle. Pour moi il n'y a aucune raison de trouver des macros dans un document si on ne les a pas expressément mises dedans... :-)
Anacoluthe « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. » - CONFUCIUS
Bonjour !
'Denel' nous a écrit ...
je suis bien d'accord avec toi, mes macros ne devrait pas être dans mes
documents généres et pourtant elle le sont quand même :)
Si vous parlez du message d'alerte 'présence de macro' c'est
normal tant que le document garde son modèle attaché !
Vérifiez les modules : ceux des documents sont vides, les
macros sont et restent dans le modèle. Pour moi il n'y a
aucune raison de trouver des macros dans un document si on
ne les a pas expressément mises dedans... :-)
Anacoluthe
« Je ne cherche pas à connaître les réponses,
je cherche à comprendre les questions. »
- CONFUCIUS
je suis bien d'accord avec toi, mes macros ne devrait pas être dans mes documents généres et pourtant elle le sont quand même :)
Si vous parlez du message d'alerte 'présence de macro' c'est normal tant que le document garde son modèle attaché ! Vérifiez les modules : ceux des documents sont vides, les macros sont et restent dans le modèle. Pour moi il n'y a aucune raison de trouver des macros dans un document si on ne les a pas expressément mises dedans... :-)
Anacoluthe « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. » - CONFUCIUS