2016-04-27 2 views
0

У меня есть Word-документ с некоторыми ссылками на ячейки в файлах Excel. В Word я могу получить контекстное меню, которое приводит к окну со всеми ссылками документа. Там я могу видеть и манипулировать свойствами ссылок.Управлять статусом ссылок в документе Word с OpenXML SDK

Кроме того, есть часть «Updatemethod для выбранной ссылки» (слова могут отличаться, я переводил их с немецкой версии), у меня есть два радио-бокса с «автоматическим»/«ручным». И флажок «заблокирован».

Я хочу изменить (особенно заблокирован-checkbox) эти свойства с помощью OpenXML, но я не нашел место, где в модели эта информация хранится. Я напечатал OuterXML для ссылки с заблокированной проверкой и для ссылки с заблокированной непроверенной, но не нашел различий в поле параметров (\ a \ f 5 \ h * MERGEFORMAT - для обоих!)

Кто-нибудь знает, как я могу изменить это с помощью OpenXML SDK?

Спасибо заранее,
Frank

+1

Это поможет получить больше информации, ситуация не на 100% понятна ... 1) Версия Word? 2) Полный код поля, а не только переключатели в конце; 3) Снимок экрана (даже если он находится на немецком языке) окна (диалогового окна), к которому вы обращаетесь. –

ответ

1

Слово имеет различные способы, чтобы представить ссылку в Office Open XML в зависимости частично от формата ссылки (например Paste ли ссылка на объект или в виде обычного текста).

Например, если вы вставляете ссылку на «Microsoft Works Worksheet Object», хотя Word отображает поле LINK в документе, XML фактически не записывает код поля, используя либо простое, либо более сложное кодирование для поля коды. Это на самом деле кодирует объект в <w:object> элементе, который записывает информацию о «форме», с типом формы в <v:shapetype>, самая формы в <v:shape>, а также информация о связи OLE в <o:OLEObject>

В этом случае, автоматическое обновление ссылки записывается с помощью

<o:OLEObject UpdateMode='Always'> для автоматических ссылок

и

<o:OLEObject UpdateMode='OnCall'> для ручных ссылок.

ссылка заблокирована ли или не записана в

<o:OLEObject><o:LockedField></o:LockedField<o:OLEObject> 

(либо как "ложный" или "" AFAICS).

Word восстанавливает код поля LINK из w:object информации, когда он отображает документ.

Однако, если вы вставляете ссылку в виде текста, записи XML Word будут содержать сложную конструкцию кода поля, начиная с элемента <w:fldChar w:fldCharType='begin' />.

В этом случае, тот факт, что связь заблокирована указывается значение «1" в ж:. Атрибуте fldLock, и, вероятно, отсутствие этого атрибута, если он не заблокирован, например

<w:fldChar w:fldCharType='begin' w:fldLock='1' />

В любом случае автоматическая ссылка указывается наличием переключателя \ a в полевом коде (реконструирована в случае первого примера). Если переключатель \ a отсутствует, это не автоматическая ссылка.

Это может не охватывать все возможные случаи, но должно дать вам некоторые подсказки о том, где искать в XML.

+0

Прохладный, вот и все! Большое спасибо (особенно за подробное объяснение!) :) – Aaginor

 Смежные вопросы

  • Нет связанных вопросов^_^