2010-08-06 52 views
3

我需要將特定的XML附加到word文檔,以便元素顯示在正確的位置。這我可以用OpenXML SDK來完成。OpenXML:使用綁定創建可重用的內容控件

事情是我也希望能夠定義已經在某種模板中定義的內容控件,以便其他人可以創建xml將附加到的真實文檔模板。好吧,不知道人們會否認我的意思,所以我會進一步解釋。

可能會有許多不同的文檔模板使用相同的XML數據,因此使用相同的內容控件。由其他人來創建文檔。

情景:一些不是程序員的傢伙需要爲通常的信息創建一個新表單,因爲有些更改(新佈局或somehting)。這與XML信息無關,保持不變。

「一些老兄」的最佳解決方案是在Word中創建文檔,並將內容控件拖拽到位(或類似的解決方案)。然後,當XML被添加到文檔中時,不會出現問題,因爲內容控件是預先綁定的。

現在,這裏有幾個要點:

1)可以將內容控件預先綁定?如果路徑中沒有XML,它會不會毫無問題地保持空白?

2)將綁定內容控件到CustomXML這樣的這樣的,因爲i4i法律訴訟,在未來的Word版本中仍然有效?

3)有沒有更好的解決方案呢?

在此先感謝。

編輯:

要更清楚。我不想創建具有某些名稱來標識它們的內容控件和一個databound xpath。但是那一刻路上沒有任何東西。

另一個用戶進來並創建一個表單,決定如此的佈局,然後將內容控件添加到他想要的信息所在的位置。

稍後使用新表格請求項目X的信息。因此,該表單的副本將被採用,CustomXML將被添加到Docx文件中。現在,因爲XML shchema是事先知道的並且在決定CC的路徑時使用,所以這個XML數據將被綁定到內容控件。

+0

爲了讓我清楚地理解你,你希望有一個用戶在Word客戶端中添加一個CC,當他們這樣做時,當它們添加它時綁定到一些數據,對嗎? – 2010-08-06 13:15:51

+0

@Otaku我不想事先定義CC,以便他們可以將它添加到他們的Word文檔(使用單詞客戶端),因此Word文檔已準備好接受CustomXML。 – 2010-08-06 14:28:33

回答

2

一個很好的選擇是使用VSTOVisual Studio for Office)來構建一組文檔模板,並附上您的預先綁定代碼。這兩篇文章提供了一個良好的開端爲尋找到這種類型的解決方案的:

有兩個線程討論這一些細節:12

使用VSTO的好處之一是您可以掛鉤Content Control eventsContent Control Event Model in Word 2007

如果VSTO不是一個選項,您可以隨時查看Add Custom XML Parts to Documents Without Starting Microsoft Office

+0

我目前沒有VSTO,認爲我需要VS的專業版本。但也許我會抓住一個。沒有看過其他文章,但我知道如何附加CustomXML只是不喜歡添加約束後的大多數綁定解決方案,我不能相信文檔製作者添加CC的權利。將檢查出來,然後讓你知道並給予正確的答案,如果一切順利的話。 – 2010-08-06 15:13:06

+0

很酷。我在VSTO的CC活動中增加了一組鏈接。這可能有助於鉤住用戶插入CC並驗證。 – 2010-08-06 15:25:02

+1

順便說一句 - 一般的做法是不要讓最終用戶插入CC。相反,他們插入Building Block(可以包含CC) - Insert> QuickParts。這樣你就不會讓它們與開發工具欄混淆。 – 2010-08-06 15:28:54

1

這應該是非常簡單的。自定義控件不受i4i訴訟的影響,您可以使用每個控件的標籤屬性命名它們(警告 - 限制爲64個字符)。

+0

我使用了內容控制(我想這就是你所指的),並將它們作爲QuickParts添加到模板中,以使它們更容易創建。最大的問題是重複項目,但我將它們添加爲表格並多次迭代最後一行。 – 2011-07-19 11:22:21

+0

抱歉是 - 內容控制。很高興它適合你。 – 2011-07-20 20:34:37

相關問題