FieldDde
Содержание
[
Скрывать
]FieldDde class
Реализует поле DDE.
Чтобы узнать больше, посетитеРабота с полями документальная статья.
public class FieldDde : Field
Конструкторы
Имя | Описание |
---|---|
FieldDde() | Конструктор по умолчанию. |
Характеристики
Имя | Описание |
---|---|
AutoUpdate { get; set; } | Возвращает или задает, следует ли обновлять это поле автоматически. |
DisplayResult { get; } | Получает текст, представляющий отображаемый результат поля. |
End { get; } | Получает узел, представляющий конец поля. |
Format { get; } | ПолучаетFieldFormat объект, который обеспечивает типизированный доступ к форматированию поля. |
InsertAsBitmap { get; set; } | Возвращает или задает, следует ли вставлять связанный объект как растровое изображение. |
InsertAsHtml { get; set; } | Возвращает или задает, следует ли вставлять связанный объект как текст в формате HTML. |
InsertAsPicture { get; set; } | Возвращает или задает, следует ли вставлять связанный объект как изображение. |
InsertAsRtf { get; set; } | Возвращает или задает, следует ли вставлять связанный объект в формате RTF. |
InsertAsText { get; set; } | Возвращает или задает, следует ли вставлять связанный объект в текстовом формате. |
InsertAsUnicode { get; set; } | Возвращает или задает, следует ли вставлять связанный объект как текст Unicode. |
IsDirty { get; set; } | Возвращает или задает, является ли текущий результат поля более неверным (устаревшим) из-за других изменений, внесенных в документ. |
IsLinked { get; set; } | Возвращает или задает, следует ли уменьшить размер файла, не сохраняя графические данные вместе с документом. |
IsLocked { get; set; } | Возвращает или задает, заблокировано ли поле (не следует пересчитывать его результат). |
LocaleId { get; set; } | Получает или задает LCID поля. |
ProgId { get; set; } | Возвращает или задает тип приложения для информации о ссылке. |
Result { get; set; } | Возвращает или задает текст, который находится между разделителем полей и концом поля. |
Separator { get; } | Получает узел, представляющий разделитель полей. Может бытьнулевой . |
SourceFullName { get; set; } | Возвращает или задает имя и местоположение исходного файла. |
SourceItem { get; set; } | Возвращает или задает часть исходного файла, которая связана. |
Start { get; } | Получает узел, представляющий начало поля. |
virtual Type { get; } | Получает тип поля Microsoft Word. |
Методы
Имя | Описание |
---|---|
GetFieldCode() | Возвращает текст между началом поля и разделителем полей (или концом поля, если разделитель отсутствует). Включаются как код поля, так и результат поля дочерних полей. |
GetFieldCode(bool) | Возвращает текст между началом поля и разделителем полей (или концом поля, если разделитель отсутствует). |
Remove() | Удаляет поле из документа. Возвращает узел сразу после поля. Если конец поля — последний child его родительского узла, возвращает его родительский абзац. Если поле уже удалено, возвращаетнулевой . |
Unlink() | Выполняет отмену связи поля. |
Update() | Выполняет обновление поля. Выдает исключение, если поле уже обновляется. |
Update(bool) | Выполняет обновление поля. Выдает исключение, если поле уже обновляется. |
Примечания
Для информации, скопированной из другого приложения, это поле связывает эту информацию с исходным файлом с помощью DDE.
Примеры
Показывает, как использовать различные типы полей для ссылки на другие документы в локальной файловой системе и отображения их содержимого.
public void FieldLinkedObjectsAsText(InsertLinkedObjectAs insertLinkedObjectAs)
{
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Ниже приведены три типа полей, которые мы можем использовать для отображения содержимого связанного документа в виде текста.
// 1 - Поле ССЫЛКИ:
builder.Writeln("FieldLink:\n");
InsertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", MyDir + "Document.docx", null, true);
// 2 - Поле DDE:
builder.Writeln("FieldDde:\n");
InsertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", MyDir + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - Поле 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);
// Ниже приведены три типа полей, которые мы можем использовать для отображения содержимого связанного документа в виде изображения.
// 1 - Поле ССЫЛКИ:
builder.Writeln("FieldLink:\n");
InsertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", MyDir + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - Поле DDE:
builder.Writeln("FieldDde:\n");
InsertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", MyDir + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - Поле 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>
/// Используйте конструктор документов, чтобы вставить поле LINK и задать его свойства в соответствии с параметрами.
/// </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>
/// Используйте конструктор документов для вставки поля DDE и установки его свойств в соответствии с параметрами.
/// </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>
/// Используйте конструктор документов для вставки поля DDEAUTO и установки его свойств в соответствии с параметрами.
/// </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
{
// СвязанныйОбъектКакТекст
Text,
Unicode,
Html,
Rtf,
// СвязанныйОбъектКакИзображение
Picture,
Bitmap
}
Смотрите также
- class Field
- пространство имен Aspose.Words.Fields
- сборка Aspose.Words