FieldDdeAuto

FieldDdeAuto class

Implementa il campo DDEAUTO.

Per saperne di più, visita ilLavorare con i campi articolo di documentazione.

public class FieldDdeAuto : Field

Costruttori

NomeDescrizione
FieldDdeAuto()Default_Costruttore

Proprietà

NomeDescrizione
DisplayResult { get; }Ottiene il testo che rappresenta il risultato del campo visualizzato.
End { get; }Ottiene il nodo che rappresenta la fine del campo.
Format { get; }Ottiene unFieldFormatoggetto che fornisce accesso tipizzato alla formattazione del campo.
InsertAsBitmap { get; set; }Ottiene o imposta se inserire l’oggetto collegato come bitmap.
InsertAsHtml { get; set; }Ottiene o imposta se inserire l’oggetto collegato come testo in formato HTML.
InsertAsPicture { get; set; }Ottiene o imposta se inserire l’oggetto collegato come immagine.
InsertAsRtf { get; set; }Ottiene o imposta se inserire l’oggetto collegato in formato RTF (rich-text).
InsertAsText { get; set; }Ottiene o imposta se inserire l’oggetto collegato in formato solo testo.
InsertAsUnicode { get; set; }Ottiene o imposta se inserire l’oggetto collegato come testo Unicode.
IsDirty { get; set; }Ottiene o imposta se il risultato corrente del campo non è più corretto (obsoleto) a causa di altre modifiche apportate al documento.
IsLinked { get; set; }Ottiene o imposta se ridurre le dimensioni del file non memorizzando i dati grafici con il documento.
IsLocked { get; set; }Ottiene o imposta se il campo è bloccato (non dovrebbe ricalcolare il suo risultato).
LocaleId { get; set; }Ottiene o imposta l’LCID del campo.
ProgId { get; set; }Ottiene o imposta il tipo di applicazione delle informazioni sul collegamento.
Result { get; set; }Ottiene o imposta il testo compreso tra il separatore di campo e la fine del campo.
Separator { get; }Ottiene il nodo che rappresenta il separatore di campo. Può esserenull .
SourceFullName { get; set; }Ottiene o imposta il nome e la posizione del file sorgente.
SourceItem { get; set; }Ottiene o imposta la parte del file sorgente che viene collegata.
Start { get; }Ottiene il nodo che rappresenta l’inizio del campo.
virtual Type { get; }Ottiene il tipo di campo di Microsoft Word.

Metodi

NomeDescrizione
GetFieldCode()Restituisce il testo tra l’inizio del campo e il separatore di campo (o la fine del campo se non c’è un separatore). Sono inclusi sia il codice di campo che il risultato del campo dei campi figlio.
GetFieldCode(bool)Restituisce il testo tra l’inizio del campo e il separatore di campo (o la fine del campo se non c’è separatore).
Remove()Rimuove il campo dal documento. Restituisce un nodo subito dopo il campo. Se la fine del campo è l’ultimo nodo figlio del suo nodo padre, restituisce il paragrafo padre. Se il campo è già stato rimosso, restituiscenull .
Unlink()Esegue lo scollegamento del campo.
Update()Esegue l’aggiornamento del campo. Genera un’eccezione se il campo è già in fase di aggiornamento.
Update(bool)Esegue un aggiornamento di campo. Genera un’eccezione se il campo è già in fase di aggiornamento.

Osservazioni

Per le informazioni copiate da un’altra applicazione, questo campo collega tali informazioni al file sorgente originale utilizzando DDE e viene aggiornato automaticamente.

Esempi

Mostra come utilizzare vari tipi di campo per collegarsi ad altri documenti nel file system locale e visualizzarne il contenuto.

public void FieldLinkedObjectsAsText(InsertLinkedObjectAs insertLinkedObjectAs)
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    // Di seguito sono riportati tre tipi di campi che possiamo utilizzare per visualizzare il contenuto di un documento collegato sotto forma di testo.
    // 1 - Un campo LINK:
    builder.Writeln("FieldLink:\n");
    InsertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", MyDir + "Document.docx", null, true);

    // 2 - Un campo DDE:
    builder.Writeln("FieldDde:\n");
    InsertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", MyDir + "Spreadsheet.xlsx",
        "Sheet1!R1C1", true, true);

    // 3 - Un campo DDEAUTO:
    builder.Writeln("FieldDdeAuto:\n");
    InsertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", MyDir + "Spreadsheet.xlsx",
        "Sheet1!R1C1", true);

    doc.UpdateFields();
    doc.Save(ArtifactsDir + "Field.LINK.DDE.DDEAUTO.docx");
}

public void FieldLinkedObjectsAsImage(InsertLinkedObjectAs insertLinkedObjectAs)
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    // Di seguito sono riportati tre tipi di campi che possiamo utilizzare per visualizzare il contenuto di un documento collegato sotto forma di immagine.
    // 1 - Un campo LINK:
    builder.Writeln("FieldLink:\n");
    InsertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", MyDir + "MySpreadsheet.xlsx",
        "Sheet1!R2C2", true);

    // 2 - Un campo DDE:
    builder.Writeln("FieldDde:\n");
    InsertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", MyDir + "Spreadsheet.xlsx",
        "Sheet1!R1C1", true, true);

    // 3 - Un campo DDEAUTO:
    builder.Writeln("FieldDdeAuto:\n");
    InsertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", MyDir + "Spreadsheet.xlsx",
        "Sheet1!R1C1", true);

    doc.UpdateFields();
    doc.Save(ArtifactsDir + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}

/// <summary>
/// Utilizzare un generatore di documenti per inserire un campo LINK e impostarne le proprietà in base ai parametri.
/// </summary>
private static void InsertFieldLink(DocumentBuilder builder, InsertLinkedObjectAs insertLinkedObjectAs,
    string progId, string sourceFullName, string sourceItem, bool shouldAutoUpdate)
{
    FieldLink field = (FieldLink)builder.InsertField(FieldType.FieldLink, true);

    switch (insertLinkedObjectAs)
    {
        case InsertLinkedObjectAs.Text:
            field.InsertAsText = true;
            break;
        case InsertLinkedObjectAs.Unicode:
            field.InsertAsUnicode = true;
            break;
        case InsertLinkedObjectAs.Html:
            field.InsertAsHtml = true;
            break;
        case InsertLinkedObjectAs.Rtf:
            field.InsertAsRtf = true;
            break;
        case InsertLinkedObjectAs.Picture:
            field.InsertAsPicture = true;
            break;
        case InsertLinkedObjectAs.Bitmap:
            field.InsertAsBitmap = true;
            break;
    }

    field.AutoUpdate = shouldAutoUpdate;
    field.ProgId = progId;
    field.SourceFullName = sourceFullName;
    field.SourceItem = sourceItem;

    builder.Writeln("\n");
}

/// <summary>
/// Utilizzare un generatore di documenti per inserire un campo DDE e impostarne le proprietà in base ai parametri.
/// </summary>
private static void InsertFieldDde(DocumentBuilder builder, InsertLinkedObjectAs insertLinkedObjectAs, string progId,
    string sourceFullName, string sourceItem, bool isLinked, bool shouldAutoUpdate)
{
    FieldDde field = (FieldDde)builder.InsertField(FieldType.FieldDDE, true);

    switch (insertLinkedObjectAs)
    {
        case InsertLinkedObjectAs.Text:
            field.InsertAsText = true;
            break;
        case InsertLinkedObjectAs.Unicode:
            field.InsertAsUnicode = true;
            break;
        case InsertLinkedObjectAs.Html:
            field.InsertAsHtml = true;
            break;
        case InsertLinkedObjectAs.Rtf:
            field.InsertAsRtf = true;
            break;
        case InsertLinkedObjectAs.Picture:
            field.InsertAsPicture = true;
            break;
        case InsertLinkedObjectAs.Bitmap:
            field.InsertAsBitmap = true;
            break;
    }

    field.AutoUpdate = shouldAutoUpdate;
    field.ProgId = progId;
    field.SourceFullName = sourceFullName;
    field.SourceItem = sourceItem;
    field.IsLinked = isLinked;

    builder.Writeln("\n");
}

/// <summary>
/// Utilizzare un generatore di documenti per inserire un campo DDEAUTO e impostarne le proprietà in base ai parametri.
/// </summary>
private static void InsertFieldDdeAuto(DocumentBuilder builder, InsertLinkedObjectAs insertLinkedObjectAs,
    string progId, string sourceFullName, string sourceItem, bool isLinked)
{
    FieldDdeAuto field = (FieldDdeAuto)builder.InsertField(FieldType.FieldDDEAuto, true);

    switch (insertLinkedObjectAs)
    {
        case InsertLinkedObjectAs.Text:
            field.InsertAsText = true;
            break;
        case InsertLinkedObjectAs.Unicode:
            field.InsertAsUnicode = true;
            break;
        case InsertLinkedObjectAs.Html:
            field.InsertAsHtml = true;
            break;
        case InsertLinkedObjectAs.Rtf:
            field.InsertAsRtf = true;
            break;
        case InsertLinkedObjectAs.Picture:
            field.InsertAsPicture = true;
            break;
        case InsertLinkedObjectAs.Bitmap:
            field.InsertAsBitmap = true;
            break;
    }

    field.ProgId = progId;
    field.SourceFullName = sourceFullName;
    field.SourceItem = sourceItem;
    field.IsLinked = isLinked;
}

public enum InsertLinkedObjectAs
{
    // LinkedObjectAsText
    Text,
    Unicode,
    Html,
    Rtf,
    // LinkedObjectAsImage
    Picture,
    Bitmap
}

Guarda anche