프로그래밍/typescript

[typescript] Word Addin에서 지정된 북마크에 텍스트를 추가하는 함수

큐레이트 2024. 10. 11. 10:52
반응형

개발 환경
Office365 WordAddin
- Typescript
함수

/**
 * 지정된 북마크에 텍스트를 삽입하는 함수
 * @param bookmarkName - 텍스트를 삽입할 북마크의 이름
 * @param text - 북마크에 삽입할 텍스트
 */
async function insertTextAtBookmark(bookmarkName: string, text: string) {
  await Word.run(async (context) => {
    // 북마크 Range 가져오기
    let bookmarkRange = context.document.getBookmarkRangeOrNullObject(bookmarkName);
    bookmarkRange.load();

    await context.sync();

    if (bookmarkRange.isNullObject) {
      console.log(`${bookmarkName}은(는) 존재하지 않는 북마크입니다.`);
    } else { 
      bookmarkRange.insertText(text, Word.InsertLocation.replace);
    }
    
    await context.sync();
  });

사용예시

// test라는 북마크에 테스트라는 문구가 들어간다.
export async function insertBookmarkTest(event: Office.AddinCommands.Event) {
  insertTextAtBookmark("test", "테스트");
  event.completed();
}
반응형