درج محتوا در فایل word (docx)

ترفند های شیرپوینت

با استفاده از وب سرویس OpenXML که در این نوشته معرفی کردم، می خواهیم یک متن HTML را داخل یک فایل word قرار دهیم. با توجه به اینکه امکان استفاده از وب سرویس هم در گردش کارهای نینتکس و هم در InfoPath موجود هست، برای انجام این کار نمونه، صرفا وب سرویس را توسط ابزار خودش صدا می زنیم.

اگر روی خود سرور SharePoint آدرس کامل وب سرویس را در مرورگر وارد کنیم، صفحه وب سرویس با قابلیت اجرا نمایان می‌شود:

برای شروع یک فایل word می سازم که داخل آن یک Content Control قرار داشته بگیرد. در نرم افزار word از منوی File گزینه Options را بزنید تا پنجره Word Options نمایش داده شود. طبق تصویر گزینه Developer را فعال کنید. این کار باعث می شود بخش مذکور به ریبون های نرم افزار word شما افزوده شود:

در لابلای متن، هرجای که مد نظر دارید یک Content Control درج کنید:

از همان ریبون فعال، گزینه Properties را بزنید:

در پنجره باز شده یک Tag به Content Control خود بدهید:

حالا فایل خود را ذخیره کرده و در یک کتابخانه(Document Library) روی سایت SharePoint انتقال دهید.

برای تست وب سرویس به آدرس وب سرویس مراجعه کنید:

http://SharePointSite/_layouts/15/openxml/openxml.asmx

متد AddHTML2Content را انتخاب کنید. در صفحه این متد، پارامتر ها را شبیه به تصویر وارد کنید:

گزینه Invoke را کلیک کنید.

نتیجه اجرا، بصورت xml به شما برگردانده می شود. چنانچه مقدار برگردانده شده OK باشد. این کار بصورت کامل انجام شده است. در غیر اینصورت متن خطای اتفاق افتاده، برگردانده شده است.