Свойство context.document.properties.title, которое вы записываете в консоль, — это атрибут уровня файла Title, который отображается в разделе "Свойства", если вы выбираете Файл >> Информация (в Excel, работающем на рабочем столе Windows). Это не «заголовок» (текст), который вы видите в верхней части вашего документа, или имя самого файла. Я подозреваю, что если вы проверите атрибут Title на уровне файла для своего документа (через пользовательский интерфейс Word), вы увидите, что атрибут Title не заполнен — - он не будет заполнен, если вы явно не установили его.
Я не очень хорошо знаком с объектной моделью API Word, но вот что может быть полезно. Следующий фрагмент кода получает первый абзац документа (который, если первая строка документа является заголовком, будет представлять заголовок документа), а затем обновляет текст заголовка новой текстовой строкой (при сохранении любое предыдущее форматирование и т. д.).
Word.run(function (context) {
// get the first paragraph
// (if the first line of the document is the title, this will be the contents of the first line (title))
var firstParagraph = context.document.body.paragraphs.getFirst();
firstParagraph.load("text");
// get the OOXML representation of the first paragraph
var ooXML = firstParagraph.getOoxml();
return context.sync()
.then(function () {
// replace the text of the first paragraph with a new text string
firstParagraph.insertOoxml(ooXML.value.replace(firstParagraph.text, "NEW TITLE"), "Replace");
return context.sync();
});
}).catch(function (error) {
console.log("Error: " + JSON.stringify(error));
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
Примечание. Если вы не можете предположить, что первым абзацем документа всегда будет заголовок документа (т. е. если иногда документ может не иметь заголовок или если иногда перед заголовком может стоять, например, одна или несколько пустых строк), вам потребуется добавить дополнительную логику к приведенному выше фрагменту, чтобы определить, является ли первый абзац документ действительно является заголовком, прежде чем перейти к логике, которая заменяет содержимое первого абзаца.
person
Kim Brandl
schedule
12.10.2017
document.properties.title
. - person dnmh   schedule 09.02.2018