WordDoc.Tables.Add( un tableau apres paragraphe

Résolu
Signaler
Messages postés
2
Date d'inscription
mercredi 5 octobre 2005
Statut
Membre
Dernière intervention
7 octobre 2005
-
Messages postés
2
Date d'inscription
mercredi 5 octobre 2005
Statut
Membre
Dernière intervention
7 octobre 2005
-
Bonjour,


j'ai besoin d'insérer un tableau après un paragraphe mais avec ce code le tableau écrase le paragraphe je suppose qu'il recrée mon doc, il y a t'il une solution et pourquoi ça ne marche pas


merci d'avance



dim WordApp, WordDoc, oTable


Set WordApp = CreateObject("word.application")


WordApp.Application.Visible = false


Set WordDoc = WordApp.Documents.Add()

Set Mypar1 = WordDoc.Paragraphs.Add

set MyRange1 = Mypar1.range

MyRange1.insertafter("FEUILLE DE PRESENCE A LA FORMATION " & vbcrlf)


MyRange1.Style = "Normal"
MyRange1.Bold = true
MyRange1.ParagraphFormat.Alignment = 1


Set oTable = WordDoc.Tables.Add(WordDoc.Range, 2, 2)



oTable.Cell(1, 1).Range.Text = "blabla, tructruc"



Set newpar = WordDoc.Paragraphs.Add
set newrange = newpar.range


with newrange
.Bold = false
.Italic = false
.Font.Name = "Times New Roman"
.Font.size = "12"
end with

newrange.insertafter("Le ou les formateur(s) : " & vbcrlf )

WordDoc.SaveAs server.mapPath("temp2.doc")

WordDoc.Close
WordApp.Quit


Set WordDoc = Nothing
Set WordApp = Nothing


response.redirect "temp2.doc"

2 réponses

Messages postés
314
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
31 août 2006
1
Bon voilà! Je me suis permis de modifier légèrement ton code et il semble que cela fonctionne correctement. Dis moi si cela fonctionne aussi pour toi, merci
En espérant avoir put aider.

Sub Macro2()
Dim WordApp As Application, WordDoc As Document, myRange As Range
Dim Mypar1 As Paragraph, MyRange1 As Range, newpar As Paragraph, newrange As Range

' Chargement d'une nouvelle instance de l'application Word masqué
Set WordApp = CreateObject("word.application")
WordApp.Application.Visible = False

' Création d'un nouveau document et paragraphe
Set WordDoc = WordApp.Documents.Add()
Set Mypar1 = WordDoc.Paragraphs.Add
Set MyRange1 = Mypar1.Range
' Insertion du titre et mise en forme
With MyRange1
.InsertAfter ("FEUILLE DE PRESENCE A LA FORMATION " & vbCrLf)
.Style = "Normal"
.Bold = True
.ParagraphFormat.Alignment = 1
End With
' Définition de la zone d'insertion du tableau
Set myRange = WordDoc.Range(Start:=36, End:=36)
' Création du tableau et insertion d'un texte dans la première cellule
With WordDoc
.Tables.Add Range:=myRange, NumRows:=2, NumColumns:=2
.Tables(1).Cell(1, 1).Range.Text = "blabla, tructruc"
End With
' Création d'un nouveau paragraphe
Set newpar = WordDoc.Paragraphs.Add
Set newrange = newpar.Range
' Insertion d'un texte et mise en forme
With newrange
.InsertAfter ("Le ou les formateur(s) : " & vbCrLf)
.Bold = False
.Italic = False
.Font.Name = "Times New Roman"
.Font.Size = "12"
End With
' Sauvegarde
WordDoc.SaveAs ("c:\temp\temp2.doc")
' Fermeture et déchargement mémoire
WordDoc.Close
WordApp.Quit


Set WordDoc = Nothing
Set WordApp = Nothing


End Sub
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
2
Date d'inscription
mercredi 5 octobre 2005
Statut
Membre
Dernière intervention
7 octobre 2005

Oui je te remercie, j’ai du aussi modifier un peu ton code car je partais d’une page en asp et c’était du vbscript, mais hier j’avais contourné le problème en transformant une page asppuis html en doc avec


<%Response.ContentType = "application/msword"%>

en tout cas j’ai vu que c’était possible