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 niño NSManagedObjectContext?
- 6. ¿Cómo creo un UITextField transparente?
- 7. ¿Cómo creo un texto coloreado?
- 8. Cómo creo un Mailer Observer
- 9. ¿Cómo creo un gamepad virtual?
- 10. ¿Cómo creo un recurso dll
- 11. ¿Cómo creo un UIViewController programáticamente?
- 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 archivo vacío en emacs?
- 19. ¿Cómo creo un programa Java ejecutable?
- 20. En SQLAlchemy, ¿cómo creo un par único?
- 21. ¿Cómo creo programáticamente un formulario de Windows?
- 22. ¿Cómo creo un VirtualHost en Zend Server?
- 23. ¿Cómo creo un script de configuración?
- 24. ¿Cómo creo un índice DESC en MySQL?
- 25. ¿Cómo creo un hash SHA1 en ruby?
- 26. ¿Cómo creo un directorio desde Emacs?
- 27. ¿Cómo creo un elemento canvas en Dart?
- 28. ¿Cómo creo programáticamente un nuevo KeyStore?
- 29. ¿Cómo creo un grupo de subprocesos?
- 30. Cómo creo un json en clojurescript
Su nombre ("System.Cats.Lol") es mi favorito en SO. –