BuiltInTemplatesPaths

FieldOptions.BuiltInTemplatesPaths property

Obtiene o establece rutas de plantillas integradas de MS Word.

public string[] BuiltInTemplatesPaths { get; set; }

Observaciones

Esta propiedad es utilizada por elFieldAutoText yFieldGlossary campos, si no se encuentra la entrada de texto automática referenciada en elAttachedTemplate plantilla.

De forma predeterminada, MS Word almacena las plantillas integradas en los archivos c:\Users<nombre de usuario>\AppData\Roaming\Microsoft\Document Building Blocks\1033\16\Built-In Building Blocks.dotx y C:\Users<nombre de usuario>\AppData\Roaming\Microsoft\Templates\Normal.dotm.

Ejemplos

Muestra cómo visualizar un bloque de construcción con campos AUTOTEXTO y GLOSARIO.

Document doc = new Document();

// Cree un documento de glosario y agréguele un bloque de creación de Autotexto.
doc.GlossaryDocument = new GlossaryDocument();
BuildingBlock buildingBlock = new BuildingBlock(doc.GlossaryDocument);
buildingBlock.Name = "MyBlock";
buildingBlock.Gallery = BuildingBlockGallery.AutoText;
buildingBlock.Category = "General";
buildingBlock.Description = "MyBlock description";
buildingBlock.Behavior = BuildingBlockBehavior.Paragraph;
doc.GlossaryDocument.AppendChild(buildingBlock);

// Crea una fuente y agrégala como texto a nuestro bloque de construcción.
Document buildingBlockSource = new Document();
DocumentBuilder buildingBlockSourceBuilder = new DocumentBuilder(buildingBlockSource);
buildingBlockSourceBuilder.Writeln("Hello World!");

Node buildingBlockContent = doc.GlossaryDocument.ImportNode(buildingBlockSource.FirstSection, true);
buildingBlock.AppendChild(buildingBlockContent);

// Establezca un archivo que contenga partes que nuestro documento o su plantilla adjunta pueden no contener.
doc.FieldOptions.BuiltInTemplatesPaths = new[] { MyDir + "Busniess brochure.dotx" };

DocumentBuilder builder = new DocumentBuilder(doc);

A continuación se muestran dos formas de utilizar campos para mostrar el contenido de nuestro bloque de construcción.
// 1 - Usando un campo AUTOTEXTO:
FieldAutoText fieldAutoText = (FieldAutoText)builder.InsertField(FieldType.FieldAutoText, true);
fieldAutoText.EntryName = "MyBlock";

Assert.AreEqual(" AUTOTEXT  MyBlock", fieldAutoText.GetFieldCode());

// 2 - Usando un campo GLOSARIO:
FieldGlossary fieldGlossary = (FieldGlossary)builder.InsertField(FieldType.FieldGlossary, true);
fieldGlossary.EntryName = "MyBlock";

Assert.AreEqual(" GLOSSARY  MyBlock", fieldGlossary.GetFieldCode());

doc.UpdateFields();
doc.Save(ArtifactsDir + "Field.AUTOTEXT.GLOSSARY.dotx");

Ver también