J'essaye le code suivant dans une application Windows Form. Je ne suis pas sûr de ce que je fais mal (et je pourrais facilement le faire mal parce que je n'ai pas beaucoup d'expérience avec l'API de Word) mais la commande GoTo ne trouve tout simplement pas le signet. J'ai toujours une exception COMException sur la dernière ligne, "Ce signet n'existe pas." La méthode wordDoc.Bookmarks.get_Item(ref name)
trouve le signet! Que donne?Comment puis-je utiliser la fonctionnalité Microsoft Word API et Bookmarks pour ouvrir par programme un document Word à un emplacement spécifique?
Object fileName = System.Windows.Forms.Application.StartupPath + "\\Bookmarks.docx";
Object readOnly = false;
Object isVisible = true;
Object missing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document wordDoc = new Microsoft.Office.Interop.Word.Document();
wordApp.Visible = true;
wordDoc = wordApp.Documents.Open(ref fileName, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible, ref missing, ref missing, ref missing, ref missing);
Object item = Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark;
Object whichitem = Microsoft.Office.Interop.Word.WdGoToDirection.wdGoToFirst;
Object count = 1;
Object name = "Location3";
Bookmark bMark = wordDoc.Bookmarks.get_Item(ref name);
wordDoc.GoTo(ref item, ref whichitem, ref count, ref name);
La commande bookmark.Select() a fonctionné comme un charme. Je ne suis pas sûr de ce qui n'allait pas avec la commande GoTo. J'ai essayé toutes les combinaisons de celui-ci. –