Word 2010 et SaveAs2

Résolu
bj33 Messages postés 145 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 1 mai 2012 - 29 avril 2012 à 18:21
bj33 Messages postés 145 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 1 mai 2012 - 1 mai 2012 à 15:18
Bonjour

Je ne sais pas trop dans quelle catégorie placer cette question. Si elle n'est pas au bon endroit, désolé.

J'ai créé une application .NET(VS 2010) qui ouvre word 2010 et remplace les signets d'un dotx par le biais d'un formulaire vb. ça fonctionne bien mais les docx enregistrés par SaveAs2, méthode VS 2010 qui devrait normalement formaté des words valides or ils sont bien enregistés mais il n'est pas possible de les ouvrir, erreur inconnue. Maintenant si j'enregistre par le biais de SaveAS, j'obtiens une erreur de compatibilité, forcement je bosse avec la version 4 du framework, il génére mais n'enregistre pas et ne copie pas le dotx mais l'ouvre directement. Donc, en enregistrant le dotx ouvert, ce qui n'est pas correct, manuellement, ça fonctionne.

Une idée? Parce que là, j'ai épuisé BING et GOOGLE sans résultats probants et comme c'est une commande professionnelle, j'aimerai bien le finalisé,c e programme.

Merci par avance à celles et ceux qui se pencherons sur la question.

ils ne savaient pas que c'était impossible, alors ils l'on fait. mon modeste site

2 réponses

bj33 Messages postés 145 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 1 mai 2012
1 mai 2012 à 15:18
Salut

Merci pour ta réponse rapide mais je ne l'ai pas comprise, enfin si mais je ne vois pas pourquoi je ne peux utiliser une instruction VB.J'ai néammoins une solution qui fonctionne, 100% VB, les docx peuvent être ouverts.Ce n'est pas portable, limité à 2010 et ultérieures, mais çà convient(Postes sur xp/vista/Seven avec office 2010).
Néammoins si quelqu'un sait outrepasser le manque de de paramètres de la méthode Save pour enregistrer dans un dossier spécifique, je suis preneur.SaveAs ne fonctionne pas, erreurs compil. Je partage pour celles et ceux qui arriveraient par un moteur avec le même problème.

Propriétés raccourcies version 4 du framework

Property ObjetWord As Word.Application
Property DocumentWord As Word.Document

Initialisation avec option strict du compilateur(CType)

ObjetWord = CType(CreateObject("Word.Application"), Word.Application)
'true ou false, c'est égal, true pour boite impression
ObjetWord.Visible = True
'désactive le rafraichissement le temps du traitement
ObjetWord.Application.ScreenUpdating = False
on crée le document à partir d'un modéle
DocumentWord = ObjetWord.Documents.Add(Application.StartupPath & "\modeles\Tampons.dotx")

et après traitement on reactive l'update

ObjetWord.Application.ScreenUpdating = True

Sauvegarde version 2010(SaveAs2)

DocumentWord.SaveAs2(Application.StartupPath & "\tampons\tampon_" & My.Settings.NumOS & ".docx")

Avec ce code les docx sont ouvrables et sans erreurs. La seule chose que j'ai changé par rapport à mon premier code est :

ObjetWord = CType(CreateObject("Word.Application"), Word.Application)
Je faisais avant
ObjetWord = New Word.Application()

Et çà change tout:)

Tiré de http://support.microsoft.com/kb/316383

ils ne savaient pas que c'était impossible, alors ils l'on fait. mon modeste site
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 avril 2012 à 18:30
Bonjour,
Tu es en "pilotage"
Dans ce mode, c'est l'instruction de sauvegarde de VBA/Word, qu'il te faut appliquer à l'objet Word (celui que tu as créé) que tu pilotes et non une instruction VB.Net.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
Rejoignez-nous