Word.Coauthoring class

Представляет Coauthoring объект. Таким образом отслеживаются обновления, изменения, конфликты и другие взаимодействия в документе, осуществляемые с помощью совместного редактирования.

Extends

Комментарии

Набор API: WordApiDesktop 1.4

Используется

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/05-coauthoring/manage-coauthors.yaml

// Gets the coauthoring capabilities and pending-update status of the document.
await Word.run(async (context) => {
  const coauthoring: Word.Coauthoring = context.document.coauthoring;
  coauthoring.load("canCoauthor,canMerge,pendingUpdates");
  await context.sync();

  console.log("Can coauthor:", coauthoring.canCoauthor);
  console.log("Can merge:", coauthoring.canMerge);
  console.log("Pending updates:", coauthoring.pendingUpdates);
});

Свойства

authors

Получает объект, представляющий CoauthorCollection всех соавторов, редактирующих документ в данный момент.

canCoauthor

Получает возможность совместного редактирования этого документа.

canMerge

Получает возможность автоматического объединения документов.

conflicts

Получает ConflictCollection объект, который представляет все конфликты в документе.

context

Контекст запроса, связанный с объектом. Это соединяет процесс надстройки с процессом основного приложения Office.

locks

Получает CoauthoringLockCollection объект, представляющий замки в документе.

me

Получает объект, Coauthor представляющий текущего пользователя.

pendingUpdates

Получает сведения о наличии в документе ожидающих обновлений, которые не были приняты.

updates

Получает объект, CoauthoringUpdateCollection представляющий последние обновления, объединенные с документом.

Методы

load(options)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(propertyNames)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(propertyNamesAndPaths)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

toJSON()

Переопределяет метод JavaScript toJSON() , чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify(). (JSON.stringify, в свою очередь, вызывает toJSON метод переданного ему объекта.) В то время как исходный Word.Coauthoring объект является объектом API, toJSON метод возвращает простой объект JavaScript (типизированный как Word.Interfaces.CoauthoringData), который содержит неглубокие копии любых загруженных дочерних свойств исходного объекта.

track()

Отслеживает объект для автоматической корректировки с учетом окружающих изменений в документе. Этот вызов является сокращением от context.trackedObjects.add(thisObject). Если вы используете этот объект во всех .sync вызовах и вне последовательного выполнения пакета ".run" и получаете сообщение об ошибке "InvalidObjectPath" при установке свойства или вызове метода объекта, необходимо добавить объект в коллекцию отслеживаемых объектов при его первом создании. Если этот объект является частью семейства, следует также отслеживать родительскую коллекцию.

untrack()

Освобождает память, связанную с этим объектом, если он ранее отслеживался. Этот вызов является сокращением от context.trackedObjects.remove(thisObject). Наличие большого количества отслеживаемых объектов замедляет ведущее приложение, поэтому не забывайте освобождать любые добавленные объекты после завершения их использования. Вам нужно позвонить context.sync() , прежде чем освобождение памяти вступит в силу.

Сведения о свойстве

authors

Получает объект, представляющий CoauthorCollection всех соавторов, редактирующих документ в данный момент.

readonly authors: Word.CoauthorCollection;

Значение свойства

Комментарии

Набор API: WordApiDesktop 1.4

canCoauthor

Получает возможность совместного редактирования этого документа.

readonly canCoauthor: boolean;

Значение свойства

boolean

Комментарии

Набор API: WordApiDesktop 1.4

canMerge

Получает возможность автоматического объединения документов.

readonly canMerge: boolean;

Значение свойства

boolean

Комментарии

Набор API: WordApiDesktop 1.4

conflicts

Получает ConflictCollection объект, который представляет все конфликты в документе.

readonly conflicts: Word.ConflictCollection;

Значение свойства

Комментарии

Набор API: WordApiDesktop 1.4

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/05-coauthoring/manage-coauthoring-conflicts.yaml

// Gets all coauthoring conflicts in the document.
await Word.run(async (context) => {
  const conflicts: Word.ConflictCollection = context.document.coauthoring.conflicts;
  conflicts.load("items/type");
  await context.sync();

  if (conflicts.items.length === 0) {
    console.log("No conflicts found in the document.");
    return;
  }

  console.log(`Found ${conflicts.items.length} conflict(s):`);
  for (let i = 0; i < conflicts.items.length; i++) {
    console.log(`  Conflict ${i + 1}: type = ${conflicts.items[i].type}`);
  }
});

context

Контекст запроса, связанный с объектом. Это соединяет процесс надстройки с процессом основного приложения Office.

context: RequestContext;

Значение свойства

locks

Получает CoauthoringLockCollection объект, представляющий замки в документе.

readonly locks: Word.CoauthoringLockCollection;

Значение свойства

Комментарии

Набор API: WordApiDesktop 1.4

Этот API работает только с устаревшими блокировками совместного редактирования. Это не применимо к современному совместному редактированию OneDrive или SharePoint, где управление блокировками обрабатывается службой автоматически. Вызовы в современном документе завершаются ошибкой GeneralException .

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/05-coauthoring/manage-coauthoring-locks.yaml

// Adds a lock to the paragraph at the insertion point.
// Requires the document to be saved to OneDrive or SharePoint.
await Word.run(async (context) => {
  const coauthoring: Word.Coauthoring = context.document.coauthoring;
  coauthoring.load("canCoauthor");
  await context.sync();

  if (!coauthoring.canCoauthor) {
    console.warn("This document doesn't support coauthoring. Save it to OneDrive or SharePoint and try again.");
    return;
  }

  const locks: Word.CoauthoringLockCollection = coauthoring.locks;
  locks.add();
  await context.sync();

  console.log("Lock added.");
});

me

Получает объект, Coauthor представляющий текущего пользователя.

readonly me: Word.Coauthor;

Значение свойства

Комментарии

Набор API: WordApiDesktop 1.4

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/05-coauthoring/manage-coauthors.yaml

// Gets the current user's coauthor information.
await Word.run(async (context) => {
  const me: Word.Coauthor = context.document.coauthoring.me;
  me.load("name,emailAddress,id");
  await context.sync();

  console.log("Current user:", me.name);
  console.log("Email:", me.emailAddress);
  console.log("ID:", me.id);
});

pendingUpdates

Получает сведения о наличии в документе ожидающих обновлений, которые не были приняты.

readonly pendingUpdates: boolean;

Значение свойства

boolean

Комментарии

Набор API: WordApiDesktop 1.4

updates

Получает объект, CoauthoringUpdateCollection представляющий последние обновления, объединенные с документом.

readonly updates: Word.CoauthoringUpdateCollection;

Значение свойства

Комментарии

Набор API: WordApiDesktop 1.4

Примеры

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/05-coauthoring/get-coauthoring-updates.yaml

// Gets the ranges affected by the most recent coauthoring updates merged into the document.
await Word.run(async (context) => {
  const updates: Word.CoauthoringUpdateCollection = context.document.coauthoring.updates;
  updates.load("items/range");
  await context.sync();

  if (updates.items.length === 0) {
    console.log("No recent coauthoring updates found.");
    return;
  }

  console.log(`Found ${updates.items.length} recent update(s).`);

  const ranges = updates.items.map((u) => u.range);
  ranges.forEach((r) => r.load("text"));
  await context.sync();

  ranges.forEach((range, i) => {
    console.log(`  Update ${i + 1}: "${range.text}"`);
  });
});

Сведения о методе

load(options)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(options?: Word.Interfaces.CoauthoringLoadOptions): Word.Coauthoring;

Параметры

options
Word.Interfaces.CoauthoringLoadOptions

Предоставляет параметры для загружаемых свойств объекта.

Возвращаемое значение

load(propertyNames)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(propertyNames?: string | string[]): Word.Coauthoring;

Параметры

propertyNames

string | string[]

Строка с разделителями-запятыми или массив строк, которые определяют свойства для загрузки.

Возвращаемое значение

load(propertyNamesAndPaths)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(propertyNamesAndPaths?: {
            select?: string;
            expand?: string;
        }): Word.Coauthoring;

Параметры

propertyNamesAndPaths

{ select?: string; expand?: string; }

propertyNamesAndPaths.select — это строка с разделителями-запятыми, указывающая загружаемые свойства, и строка propertyNamesAndPaths.expand через запятую, указывающая свойства навигации для загрузки.

Возвращаемое значение

toJSON()

Переопределяет метод JavaScript toJSON() , чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify(). (JSON.stringify, в свою очередь, вызывает toJSON метод переданного ему объекта.) В то время как исходный Word.Coauthoring объект является объектом API, toJSON метод возвращает простой объект JavaScript (типизированный как Word.Interfaces.CoauthoringData), который содержит неглубокие копии любых загруженных дочерних свойств исходного объекта.

toJSON(): Word.Interfaces.CoauthoringData;

Возвращаемое значение

track()

Отслеживает объект для автоматической корректировки с учетом окружающих изменений в документе. Этот вызов является сокращением от context.trackedObjects.add(thisObject). Если вы используете этот объект во всех .sync вызовах и вне последовательного выполнения пакета ".run" и получаете сообщение об ошибке "InvalidObjectPath" при установке свойства или вызове метода объекта, необходимо добавить объект в коллекцию отслеживаемых объектов при его первом создании. Если этот объект является частью семейства, следует также отслеживать родительскую коллекцию.

track(): Word.Coauthoring;

Возвращаемое значение

untrack()

Освобождает память, связанную с этим объектом, если он ранее отслеживался. Этот вызов является сокращением от context.trackedObjects.remove(thisObject). Наличие большого количества отслеживаемых объектов замедляет ведущее приложение, поэтому не забывайте освобождать любые добавленные объекты после завершения их использования. Вам нужно позвонить context.sync() , прежде чем освобождение памяти вступит в силу.

untrack(): Word.Coauthoring;

Возвращаемое значение