مي خوام يك فايل word را باز كنم
براي بعضي كاربران براي خووندن (read) يعني هيچ تغييري در محتويات فايل ايجاد نشه
براي عده اي ديگه براي نوشتن (write) به صورتي كه بتوونند در فايل تغيير ايجاد كنند
برنامه با webapp
با تشكر
مي خوام يك فايل word را باز كنم
براي بعضي كاربران براي خووندن (read) يعني هيچ تغييري در محتويات فايل ايجاد نشه
براي عده اي ديگه براي نوشتن (write) به صورتي كه بتوونند در فايل تغيير ايجاد كنند
برنامه با webapp
با تشكر
دوباره سلام.
چون از webApp استفاده ميكنيد متودي به نام MessageBox نداريد.
ولي ميتونيد اون رو شبيه سازي كنيد.دليلش هم Server Side بودن Asp.Net هست.
در ضمن نيازي به استفاده ازش نداريد ميتونيد اطلاعات خونده شده رو در يك TextBox
نشون بديد و يا روش هاي ديگه.
مثلا:
توجه كنيد كه از كد هاي قبلي هم ميتونيد استفاده كنيد.فرقي نميكنه.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
براي شبيه سازي يك MessageBox ساده ميتونيد از كد زير استفاده كنيد
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by someone; 29-10-2006 at 03:43.
سلام
ممنون از توجهتون
بازم مشكل من حل نشد . با كد بالا , وقتي از text box استفاده میکنم محتویات اونو به صورت زیر نمایش میده
از script كه استفاده مي كنم اجرا میشه ولی هیچی نمایش نمیدهکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در ضمن من نمی خوام محتویات فایل رو توی text box نشان بده , بلکه می خوام با برنامه word اونو نمایش بده
آیا برای اجرای این کد نیاز به نرم افزار خاصی نیست ؟
Last edited by fatima81; 30-10-2006 at 01:28.
اصولا برای باز کردن اسناد office نمی توان از IOStream استفاده کرد. چون این اسناد قالب خاصی دارند. استفاده مستقیم از نرم افزار Office (در مثال شماWord ) هم درست نیست چون تمام اختیارات ویرایشی را به کاربر خواهد داد.
فکر می کنم 2 راه مناسب زیر وجود دارد:
1. از OLE استفاده کنید. در این تکنولوژی قدیمی شما می توانید همه اسنادی که در نرم افزار های سازگار با OLE مانند Office ایجاد شده اند را به شرط اینکه خود نرم افزار روی سیستم نصب شده باشد در یک کنترل OLE باز کنید که برای اختیاراتی مانند ویرایش یا حذف قابل تنظیم هستند.
از آنجا که این کنترل ها (OLE Controls) ضمیمه ی Visual studio .net نشده اند می توانید از کنترل WebBrowser استفاده کنید که کار شما را در Webforms راحت می کند. این سندMSDN راهنمای مفصلی است:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
2. راه دیگر استفاده از کنترل های Parser برای اسناد Word است که البته معمولان برای Webfroms منتشر نمی شوند. این سایت کنترا های Shareware مناسبی دارد:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
در آخر تاکید کنم که بهتر است قبل از تصمیم به استفاده از هر کدام از این راهها منظورتان را واضح بنویسید که فایل word در کجا قرار دارد طرف server یا Client؟ همچنین این سند قرار است کجا نمایش داده شود؟ در صفحه ی مرورگر یا در نسخه ی باز شده ای از نرم افزار Word؟
تین لینک جواب کاملی رو که می خوای داره:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
راستی این یه کلاسه جدیده که من ندیده بودم تا حالا wordClassDocument فکر کنم من که چکش می کردم امکانات زیادی داشت اما صراحتا به Read و Write اشاره نکرده بود که پیش نهاد می کنم موقع رد کردن فایل اون رو LOCK کنی.
Last edited by Mitibob; 30-10-2006 at 03:19. دليل: اضافه
باتشکر
ببينيد فايل word درطرف server قرار دارد وفایل قرار است در نسخه ی باز شده ای از نر م افزار word نمایش داده شود
در ضمن من از کدی مشابه لینک زیر استفاده میکنم
ولی ین error رو میده
Access is denied
تنظیمات مربوط به peroperties/security رو هم انجام دادم
دوباره سلام.
اول يه تشكر كنم به خاطر اطلاعات كاملي كه دوست بسيار عزيزم"Mitibob " دادن.
يه توضيح هم بدم براي مشكل پيش اومد براي شما.
اينكه براي خوندن فايل word نميشه از stream ها استفاده كرد زياد موافق نيستم.
چون كاملا بستگي به فايل word مورد نظر داره. در ضمن مشكلي كه براي ديدن محتويات اين فايل داريد
به دليل اينه كه تمام اين محتويات در يك خط از Textbox شما قرار گرفتن.و وقتي از stream داريد استفاده
ميكنيد بايد اصلاحاتي رو انجام بديد.كدي هايي كه گذاشتم فقط براي نمونه هستند ونياز به تكميل شدن دارن.
نكته بعدي در مورد wordClassDocument كه دوستم گفتن هست . اين كلاس همراه با يه COM منتشر شده
به نام microsoft word object كه ميتونيد ازش استفاده كنيد.براي توضيحات بيشتر ميتونيد به اين link مراجعه كنيد.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ميتونيد ازش در interface ي كه طراحي ميكنيد , استفاده كنيد. حتما بهش نگاه كنيد.
چون فوق العاده كامل هست.
در ضمن از كدي شبيه اين هم ميتونيد استفاده كنيد كه نياز به توضيح نداره.(APS.Net)
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by someone; 31-10-2006 at 14:06.
someone عزیز نمی دونم چه اصراری بر باز کردن اسناد Word با Stream دارید. اگر توی اسناد Word عکس یا نمودار یا همچین چیزهایی باشه کد شما به چه دردی می خوره؟ به هر حال.
fatima من در کد هایی که شما قرار دادید مثالی مانند اون link که در کد از شی Word (با تشکر از Someone مه ریشه ی اون Component رو پیدا کرد) ندیدم. کد جدیدتون که از سی Word استفاده می کنه بذارید تا ببینم چه خبره.
در ضمن فراخانی های Absolute مثل:
D:\Inetpub\wwwroot\EndProject\docPDF\Hellow.doc
رو به صورت زیر انجام بدین تا اون تنظیمات نوشتن/خوندن اعمل بشن:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
یا:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
"Mitibob" جان سلام.
متوجه منظورتون شدم. بله منم حرفتون رو قبول دارم.
ولي زياد موافق استفاده از word به صورت مستقيم براي ذخيره سازي و همين طور براي استفاده در webApp
(حتي Com ها و OLE هايي كه براي اين كار هستند)
نيستم. قالب زياد مناسبي نيست. اگه يه فايل word تنها شامل text باشه ترجيح ميدم خوندنش توسط
stream ها انجام بشه. البته نظر شخصي من هست و نظر شما مسلما ارجعيت داره.
ممنون كه در اين بحث شركت كرديد.
سلام
با تشکر از توضیحات دوستان
درمورد کدی که someone گذاشته بودند
من ازاین کد برای باز کردن فایل استفاده می کنم وهیج مشکلی نداره
مشکل من همانطور که قبلا هم گفتم تعیین سطح دسترسی برای read و write می باشد وتوی این دو روش(sream)
و com این امکان وجود داره
و Mitibob
این هم کدکد جدیدتون که از سی Word استفاده می کنه بذارید تا ببینم چه خبره.
اوون error برطرف شد و یه error دیگه میدهobject fileName = strfilpath;
object readOnly = false;
object isVisible = true;
object missing = System.Reflection.Missing.Value;
Word.ApplicationClass oWordApp = new Word.ApplicationClass();
Word.Document oWordDoc = oWordApp.Documents.Open(ref fileName,
ref missing,ref readOnly,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref isVisible,
ref missing,ref missing,ref missing);
oWordDoc.Activate();
oWordApp.Selection.TypeText("This is the text");
oWordApp.Selection.TypeParagraph();
oWordDoc.Save();
oWordApp.Application.Quit(ref missing, ref missing, ref missing);
Could not open macro storage
باتشكر
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)