Bonjour à tous,
J'essaye d'automatiser un publipostage en vb.net à partir d'une source Excel avec la suite Office 2010.
J'ai pas mal regardé sur le net et j'ai trouvé des tutos (pas vraiment récent) et qui ne fonctionne pas dans mon cas.
J'utilise un fichier Excel comme source.
Précision d'abord pour la suite, pour pouvoir faire ce publipostage manuellement (directement dans word), j'ai du cocher une option (Confirmer la conversion du format de fichier lors de l'ouverture) sinon j'avais une erreurUne fois cette option cochée, ça fonctionne.Citation:
La table externe n'est pas dans le format attendu.
Voici donc mon code :
A la ligne "OpenDataSource", bizarrement, j'obtiens une pop word qui s'ouvre en me disant que "La table externe n'est pas dans le format attendu" et le prog reste bloqué à cet endroit.Code:
1
2
3
4
5
6
7
8
9
10
11
12 Dim wordApp As Application = New Word.Application() Dim wordDoc As Document = wordApp.Documents.Open(chemin & "modele_temp.docx") wordDoc.MailMerge.OpenDataSource(Name:=nomFichierSource, ConfirmConversions:=False, ReadOnly:=True, LinkToSource:=False, Connection:="Feuille de calcul entière", SQLStatement:="SELECT * FROM [Feuil1$]") wordDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument wordDoc.MailMerge.Execute(False) wordDoc.Close() wordDoc = Nothing wordApp.Quit()
J'ai également essayé en utilisant la chaine de connexion suivante mais le problème reste le même :
Merci d'avance car ça fait un bon moment que je cherche maintenant :-/Code:
1
2 Connection:="Driver={Microsoft Excel Driver (*.xls)};" & _ "DBQ=" & NomBase & "; ReadOnly=True;"