Word 2010 et SaveAs2 [Résolu]

bj33 145 Messages postés vendredi 13 juin 2003Date d'inscription 1 mai 2012 Dernière intervention - 29 avril 2012 à 18:21 - Dernière réponse : bj33 145 Messages postés vendredi 13 juin 2003Date d'inscription 1 mai 2012 Dernière intervention
- 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
Afficher la suite 

2 réponses

Répondre au sujet
bj33 145 Messages postés vendredi 13 juin 2003Date d'inscription 1 mai 2012 Dernière intervention - 1 mai 2012 à 15:18
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de bj33
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 29 avril 2012 à 18:30
0
Utile
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
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.