SourceItem
Inhalt
[
Ausblenden
]FieldLink.SourceItem property
Ruft den Teil der Quelldatei ab, der verknüpft wird, oder legt diesen fest.
public string SourceItem { get; set; }
Beispiele
Zeigt, wie Sie verschiedene Feldtypen verwenden, um eine Verknüpfung zu anderen Dokumenten im lokalen Dateisystem herzustellen und deren Inhalte anzuzeigen.
public void FieldLinkedObjectsAsText(InsertLinkedObjectAs insertLinkedObjectAs)
{
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Nachfolgend finden Sie drei Arten von Feldern, mit denen wir Inhalte aus einem verknüpften Dokument in Textform anzeigen können.
// 1 - Ein LINK-Feld:
builder.Writeln("FieldLink:\n");
InsertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", MyDir + "Document.docx", null, true);
// 2 - Ein DDE-Feld:
builder.Writeln("FieldDde:\n");
InsertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", MyDir + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - Ein DDEAUTO-Feld:
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);
// Unten sind drei Arten von Feldern aufgeführt, die wir verwenden können, um Inhalte aus einem verknüpften Dokument in Form eines Bildes anzuzeigen.
// 1 - Ein LINK-Feld:
builder.Writeln("FieldLink:\n");
InsertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", MyDir + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - Ein DDE-Feld:
builder.Writeln("FieldDde:\n");
InsertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", MyDir + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - Ein DDEAUTO-Feld:
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>
/// Verwenden Sie einen Document Builder, um ein LINK-Feld einzufügen und seine Eigenschaften entsprechend den Parametern festzulegen.
/// </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>
/// Verwenden Sie einen Document Builder, um ein DDE-Feld einzufügen und seine Eigenschaften entsprechend den Parametern festzulegen.
/// </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>
/// Verwenden Sie einen Dokument-Builder, um ein DDEAUTO-Feld einzufügen und seine Eigenschaften entsprechend den Parametern festzulegen.
/// </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
}
Siehe auch
- class FieldLink
- namensraum Aspose.Words.Fields
- Montage Aspose.Words