SharePointから読み込まれた定義済みのテンプレート(docx)ドキュメントをユーザーが選択できるWord Addinを開発しています。ウィザードを使用して、ユーザーはドキュメントにコンテンツコントロールを設定します。これまでのところ非常に良い経験。ドキュメントを挿入するときにヘッダーが表示されない
ただし、ヘッダーを含むdocxファイルを読み込むときに問題が発生します。
私はDOCXファイルをロードするために、この機能を使用してい:(下の完全なコードを)
body.insertFileFromBase64(templateDoc.base64String, Word.InsertLocation.end);
動作しますが、時にはソースドキュメントのヘッダが存在しないこと。または、それらがすべてのページにある他の時間、最初のページが異なる必要があります。
質問: ヘッダーとフッターを含む文書を挿入する必要がありますか、何か間違っていますか?
private applyTemplate(template: Template): void {
if (!Office.context.requirements.isSetSupported("WordApi", 1.2)) {
this.errorMessage = 'Deze versie van Word wordt niet ondersteund';
this.showError = true;
return;
}
let calls: [
ng.IPromise<TemplateFile>
] = [
this.appService.getTemplateDocument(template.templateId)
];
this.q.all(calls)
.then((results: any[]) => {
let templateDoc: TemplateFile = results[0].data;
Word.run((context) => {
let body = context.document.body;
let sections = context.document.sections;
context.load(sections, 'body/style');
body.clear();
return context.sync()
.then(() => {
sections.items[0].getHeader(Word.HeaderFooterType.primary).clear();
sections.items[0].getFooter(Word.HeaderFooterType.primary).clear();
return context.sync()
.then(() => {
body.insertFileFromBase64(templateDoc.base64String, Word.InsertLocation.end);
this.appService.setTemplateSelected(template);
return context.sync()
.then(() => {
this.go('/customers');
this.scope.$apply();
}, ((result: OfficeErrorMessage) => {
this.setErrorState(result);
}));
}, ((result: OfficeErrorMessage) => {
this.setErrorState(result);
}));
}, ((result: OfficeErrorMessage) => {
this.setErrorState(result);
}));
});
}, ((result: ng.IHttpPromiseCallbackArg<ErrorMessage>) => {
this.errorMessage = result.data.exceptionMessage;
this.showError = true;
this.scope.$apply();
}));
}
***編集 私は、これは新しいバージョンで来ている参照してください。 https://github.com/OfficeDev/office-js-docs/blob/WordJs_1.3_Openspec/word/resources/application.md
私がやっているとの違いは何ですか?
Word.InsertLocation.replaceに切り替えると、ヘッダー/フッターが正しく挿入されますか?私は、既存のコンテンツがあるときにWordがヘッダー/フッターを挿入していないと思われます。 –
ご質問が不明な場合は申し訳ありませんが、文書にdocxファイルを挿入します。ソースファイルには最初のページにヘッダーはありませんが、挿入後最初のページにヘッダーがあります。だからソースと同じではありません。私はヘッダーをクリアするいくつかの問題がありますが、それらは今のところ私の場合には回避策があります。 –