2017-04-21 1 views
0

Lorsque Word s'ouvre, il ouvre un nouveau document non enregistré. Je travaille sur un Word-AddIn et je dois référencer le document actuel, qui peut être ce nouveau document non enregistré. Je dois définir ce nouveau document comme document actif. Comment puis je faire ça?Définir le nouveau document en cours en tant que document actif

J'ai cherché la meilleure partie de la journée aujourd'hui et n'ai eu absolument aucune chance. Si j'ouvre un document existant, je peux le définir comme actif, mais l'ouverture d'un document interrompt le processus pour l'utilisateur.

wordApp = new Microsoft.Office.Interop.Word.Application(); 
doc = wordApp.Documents.Open(@"C:\Users\user\Desktop\test.docx");    
doc = wordApp.ActiveDocument; 

Toute aide avec ceci serait vraiment appréciée. Je ne sais vraiment pas où aller à partir d'ici.

+0

document a une méthode Activate() pour en faire le ActiveDocument, sûrement ce que vous recherchez. L'extrait ne permet pas vraiment de deviner que c'est ce que vous cherchez. –

Répondre

1

La méthode Activate de la classe Documents active le document spécifié afin qu'il devienne le document actif.

wordApp = new Microsoft.Office.Interop.Word.Application(); 
doc = wordApp.Documents.Open(@"C:\Users\user\Desktop\test.docx"); 
doc.Activate(); 

ou si vous voulez garder un nouveau document comme un actif:

wordApp = new Microsoft.Office.Interop.Word.Application(); 
newDoc = wordApp.ActiveDocument; 
doc = wordApp.Documents.Open(@"C:\Users\user\Desktop\test.docx"); 
if(newDoc!=null) 
    newDoc.Activate();