Estoy intentando el siguiente código en una aplicación de Windows Form. No estoy seguro de lo que estoy haciendo mal (y podría estarlo haciendo mal porque no tengo mucha experiencia con la API de Word), pero el comando Ir a simplemente no puede encontrar el marcador. Siempre obtengo una COMException en la última línea, "Este marcador no existe".¿Cómo uso la API de Microsoft Word y la función Marcadores para abrir un documento de Word mediante programación en una ubicación específica?
¡Pero el método wordDoc.Bookmarks.get_Item(ref name)
encuentra el marcador! ¿Qué ofrece?
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);
El comando bookmark.Select() trabajó como un encanto. No estoy seguro de lo que estaba mal con el comando GoTo. Probé todas las combinaciones de eso. –