2016-04-27 22 views
0

ExcelファイルのセルへのリンクがいくつかあるWord文書があります。 Wordでは、コンテキストメニューを表示して、ドキュメントのすべてのリンクを含むウィンドウを表示することができます。そこでは、リンクのプロパティを表示して操作できます。とりわけOpenXML SDKを使用してWord文書内のリンクの状態を操作する

は、私が「自動」/「手動」を持つ2つのラジオボックスを持っている部分「Updatemethodは、選択されたリンクは、」(言葉は私がドイツ語バージョンからそれを翻訳し、異なっていてもよい)があります。チェックボックスは「ロック」されています。

これらのプロパティをOpenXMLで変更したい(特にロックされたチェックボックス)が、この情報が格納されているモデルの場所を見つけられませんでした。ロックされたチェック付きのリンクとOuterXMLのリンクがチェックされていませんが、パラメータフィールドに違いはありませんでした(\ a \ f 5 \ h * MERGEFORMAT - 両方の場合)

誰でも知っています、私はOpenXML SDKでこれをどのように変更できますか?事前に

おかげで、
フランク

+1

それは、より多くの情報を持っているのに役立ちます、状況は100%クリアではありません... 1)Wordのバージョン? 2)完全なフィールドコード、最後のスイッチだけではありません。 3)あなたが参照するウィンドウ(ダイアログボックス)のスクリーンショット(ドイツ語であっても)。 –

答えて

1

Wordには、リンクの形式に一部依存する(例えば、あなたが、プレーンテキストオブジェクトまたはへのリンクを貼り付けるかどうか)OfficeオープンXMLでLINKを表現するさまざまな方法があります。

たとえば、「Microsoft Excelワークシートオブジェクト」へのリンクを貼り付けると、文書内にWordがリンクフィールドを表示しても、XMLは実際にフィールドコードを記録しませんコード。実際<v:shape>形状自体、<v:shapetype>における形状タイプと、「形状」に関する情報を記録<w:object>要素のオブジェクトを符号化し、<o:OLEObject>

でOLEリンクに関する情報その場合、自動リンク更新自動リンク

と手動リンクについて

<o:OLEObject UpdateMode='OnCall'>ため

<o:OLEObject UpdateMode='Always'>

を使用して記録されます。

リンクは

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

に記録されているロックされているか否か(どちらか " "偽" または" AFAICSなど)。

Wordは、ドキュメントを表示するときに、w:object情報からLINKフィールドコードを再構築します。

ただし、テキストとしてリンクを貼り付けると、XMLワードレコードには、<w:fldChar w:fldCharType='begin' />要素で始まる複合フィールドコード構造が含まれます。その場合

、リンクがロックされているという事実は、ワットに1" 」の値によって示されます。それはロックされていない場合fldLock属性、およびその属性のおそらく不在例えば

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

いずれの場合も、フィールドコードに\ aスイッチが存在すると自動リンクが表示されます(最初の例では再構築されます)。\ aスイッチがない場合、自動リンクではありません。

これはすべての可能なケースをカバーしているわけではありませんが、XMLのどこを調べるかについての手がかりを与えるはずです。

+0

クール、それだけです!ありがとうございます(詳細な説明は特にあります):) – Aaginor

関連する問題