Как получить данные, введенные в управление контентом в webaddin - PullRequest
0 голосов
/ 05 октября 2019

У меня есть элемент управления содержимым richtext с именем firstname в документе Word. Я пытаюсь получить доступ к его содержимому, но не могу получить его.

Это пример метода, указанный в msdn. Используя его, я могу получить идентификатор элемента управления и его тип, но не данные. Пожалуйста, дайте мне знать, есть ли какой-нибудь способ доступа к нему?

function bindContentControl() {
  Office.context.document.bindings.addFromNamedItemAsync(
   'FirstName', Office.BindingType.Text, {id:'firstName'}, 

   function (result) { 
     if (result.status === Office.AsyncResultStatus.Succeeded) { 
      write('Control bound. Binding.id: ' + result.value.id + ' Binding.type: ' + result.value.type); } 
     else { 
       write('Error:', result.error.message); 
     } 
   });
 } 

  // Function that writes to a div with id='message' on the page. 
Funktion write(message){ 
  document.getElementById('message').innerText += message; }  

1 Ответ

0 голосов
/ 07 октября 2019

Пример кода, который вы предоставили, создает привязку к объекту с именем «FirstName».

Вы захотите использовать context.document.contentControls.getByTitle () для получения элемента управления содержимым данного имени,Вот мой пример кода.

  await Word.run(async (context) => {

    let controls = context.document.contentControls.getByTitle("FirstName");

    controls.load();
    await context.sync();

    //assuming there's only one para.  
    controls.items[0].paragraphs.load();
    await context.sync();


    console.log(controls.items[0].paragraphs.items[0].text);
  });
...