No he tenido suerte ni en la API OpenXML ni en la API de Word/VSTO, y encuentro una forma de crear o modificar la visibilidad de un marcador. Incluso agregando marcadores manualmente en Word, no hay ningún cuadro para verificar que el marcador esté oculto. Aunque hay es una casilla de verificación en el cuadro de diálogo Marcadores que le permite mostrar marcadores ocultos. Entonces, ¿cómo se representan los marcadores ocultos en el XML y puede crearlos usando Open XML SDK? ¿O son un legado que MS ya no quiere que creamos?Word/OpenXML - ¿Cómo creo un marcador oculto?
Respuesta
OK, así que esto es más fácil de lo que pensaba ... solo precede al marcador con un guión bajo. Tenga en cuenta que esto solo se puede hacer mediante programación, no al agregar marcadores manualmente en Word.
Iiiiiiiiinteresting ....
Actualización: Otra cosa que me encontré - antes de que pueda repetir o acceder a marcadores ocultos en un objeto Bookmarks, debe establecer su propiedad ShowHidden true.
PS - SO, si tiene algún control sobre su diccionario ortográfico, puede agregar "programáticamente". A menos que esté deletreando mal. :)
+1. ¡Buen hallazgo y gracias por compartir la solución! –
NP, mira la actualización también, otra peculiaridad interesante ... –
interesante de hecho. puede continuar y aceptar su respuesta con la marca de verificación vacía al lado. –
Creé marcadores normales en archivos de palabras y los convertí en favoritos ocultos pragmáticamente. Como se dijo anteriormente, los marcadores ocultos solo se pueden crear pragmáticamente y su nombre precede por "_". Cuando iteres en la lista de marcadores, asegúrate de que Bookmarks.ShowHidden esté establecido en verdadero, de lo contrario, los marcadores ocultos no aparecerán en la lista. A continuación se muestra el código que utilicé para ocultar todos los marcadores visibles. Al final también borro el registro de deshacer para asegurarme de que el usuario no pueda deshacer los cambios que hice. Puede crear el registro de deshacer personalizado borrar la última acción si lo desea.
public static void hideAllBookmark(Document doc)
{
String newName = null;
Range newRange = null;
bool backup = doc.Bookmarks.ShowHidden;
doc.Bookmarks.ShowHidden = false;
for (int i = doc.Bookmarks.Count; i > 0; i--)
{
if (!doc.Bookmarks[i].Name.Substring(0, 1).Equals("_", StringComparison.OrdinalIgnoreCase))
{
newName= "_" + doc.Bookmarks[i].Name;
newRange = doc.Bookmarks[i].Range;
doc.Bookmarks[i].Delete();
doc.Bookmarks.Add(newName, newRange);
}
}
doc.Bookmarks.ShowHidden = backup;
doc.UndoClear();
}
- 1. ¿Cómo creo un campo oculto en MVC3?
- 2. Cómo convertir la propiedad WordOpenXML en un System.IO.Packaging.Package?
- 3. ¿Cómo almaceno más información en un marcador?
- 4. ¿Cómo elimino un marcador en Google Maps?
- 5. ¿Cómo creo un gamepad virtual?
- 6. ¿Cómo creo un recurso dll
- 7. ¿Cómo creo un UIViewController programáticamente?
- 8. ¿Cómo creo un niño NSManagedObjectContext?
- 9. Cómo creo un Mailer Observer
- 10. ¿Cómo creo un UITextField transparente?
- 11. ¿Cómo creo un texto coloreado?
- 12. Validar un campo oculto
- 13. ¿Cómo escribo en un archivo oculto?
- 14. ¿Cómo elimino un marcador remoto en Mercurial?
- 15. Iniciando un programa C++ oculto
- 16. Google Maps: marcador de renderizado sobre marcador de marcador
- 17. Escribiendo un marcador de sintaxis
- 18. ¿Cómo creo un temporizador en WPF?
- 19. ¿Cómo creo un índice DESC en MySQL?
- 20. ¿Cómo creo un alias de Bash?
- 21. ¿Cómo creo un rango de HTML5 degradante?
- 22. ¿Cómo creo un programa Java ejecutable?
- 23. ¿Cómo creo un operador en Haskell?
- 24. ¿Cómo creo un script de configuración?
- 25. Cómo creo un json en clojurescript
- 26. ¿Cómo creo un VirtualHost en Zend Server?
- 27. ¿Cómo creo un JAR con m2e (m2eclipse)?
- 28. En SQLAlchemy, ¿cómo creo un par único?
- 29. ¿Cómo creo un elemento canvas en Dart?
- 30. ¿Cómo creo un grupo de subprocesos?
Su nombre ("System.Cats.Lol") es mi favorito en SO. –