PDA

View Full Version : MS Word Automation



Arash_Faridi
شنبه 28 بهمن 1385, 16:58 عصر
سلام بر دوستان و اساتید محترم
مشکل من در سرعت باز کردن یک فایل word است. چه با استفاده از OLE و چه استفاده از Automation Server Components و حتی ساخت object های مورد نیاز جهت نمایش یک فایل word (که در تاپیک‌های دیگر هم بحث شده) سرعت باز شدن word جهت نمایش فایل پایین است. شاید علت آن مربوط به خود Microsoft Word باشد.
سوال من این است:
1- آیا راهی جهت باز نمودن word با حداقل ملحقات آن وجود دارد - مثلا Virus Scan در هنگام نمایش فعال نگردد یا موارد مشابه آن
2- در برخی از نرم‌افزارهای اتوماسیون اداری فایلهای word پس از اولین اجرا با سرعت بالا باز می‌شوند که احتمالا به دلیل این است که object مربوطه یکبار در اولین اجرا Create شده و در حافظه باقی می‌ماند . ولی من وقتی پس از Create کردن word object اگر visible آن را False کنم دفعه بعد که ان را True می‌کنم باز زمان زیادی طول می‌کشد
لطفا در صورت امکان در این مورد راهنمایی بفرمایید
با تشکر

A.Nemati
شنبه 28 بهمن 1385, 19:38 عصر
بستگی دارد که چه کاری می‌خواهی انجام دهی
اگر فقط یک viewer بسازی، بهترین گزینه TWebBrowser است.
اگر می‌خواهی word را باز کنی بهترین روش این است که WordApp را در ابتدای Connenct کنی و هیچگاه آنرا Disconnect یا Quite نکنی مگر در هنگام آزاد کردن یونیت یا فرم مربوطه. هربار visible آنرا true و false کنی.
اگر نتوانستی به نتیجه مناسب برسی، می‌توانم یک نمونه کوچک برات بزارم. البته بهتره خودت کمی باهاش کلنجار بری تا ریزه کاری های بیشتری را بدست بیاری.

Arash_Faridi
یک شنبه 29 بهمن 1385, 11:10 صبح
بستگی دارد که چه کاری می‌خواهی انجام دهی
اگر فقط یک viewer بسازی، بهترین گزینه TWebBrowser است.
اگر می‌خواهی word را باز کنی بهترین روش این است که WordApp را در ابتدای Connenct کنی و هیچگاه آنرا Disconnect یا Quite نکنی مگر در هنگام آزاد کردن یونیت یا فرم مربوطه. هربار visible آنرا true و false کنی.
اگر نتوانستی به نتیجه مناسب برسی، می‌توانم یک نمونه کوچک برات بزارم. البته بهتره خودت کمی باهاش کلنجار بری تا ریزه کاری های بیشتری را بدست بیاری.

با تشکر از توجه شما
مشکل من این است که تغییر در فایل را می‌خواهم کنترل کنم . این کار را در OnQuite کنترل WordDocument انجام می‌دهم. در مورد اینکه create و connect یکبار انجام بشه کاملا حق با شماست ولی مشکل من اینه که اگر visible را false کنم بعد از true کردن هم زمان زیادی طول می‌کشه. در ضمن اگه Quite نکنم در connect شدن بعدی پیغام RPC Server is unavailable را می‌دهد - لطفا راهنمایی کنید.

Arash_Faridi
دوشنبه 30 بهمن 1385, 09:41 صبح
اساتید کمک

mohssen_mz
دوشنبه 30 بهمن 1385, 11:14 صبح
یعنی شما میخوای هنگام quite شدن تغییرات رو ذخیره کنی ولی هنگام خروج زمان زیادی طول میشکه تغییرات رو ثبت کنه؟؟؟

Arash_Faridi
دوشنبه 30 بهمن 1385, 11:21 صبح
یعنی شما میخوای هنگام quite شدن تغییرات رو ذخیره کنی ولی هنگام خروج زمان زیادی طول میشکه تغییرات رو ثبت کنه؟؟؟

خیر مشکل من خروج یا ذخیره‌سازی نیست به عبارت ساده مشکل من
1- connect شدن یا Visible شدن word بسیار زمان بر است
2- آیا روشی برای connect شدن به Word Object (OLE Automation) a وجود دارد که در آن امکاناتی مثل Virus Check را غیر فعال کرد و آیا اصولا این کار تاثیری در سرعت باز شدن Word دارد

A.Nemati
دوشنبه 30 بهمن 1385, 14:35 عصر
امیدوارم نمونه برنامه‌ای که attach کردم بدردت بخوره.

Arash_Faridi
دوشنبه 30 بهمن 1385, 17:15 عصر
امیدوارم نمونه برنامه‌ای که attach کردم بدردت بخوره.

مرسی - من تو روش باز کردن word یا فایل در آن مشکل ندارم فقط سرعت مهمه ولی در هر صورت ممنون از توجه شما
برای حل مشکلم بازکردن فایل و word را در یک Thread مجزا نوشتم تا با سایر کارها موازی بشه و کاربر کمتر منتظر بمونه.
شنیدم نرم‌افزار فایلر فایلها را با سرعت خیلی بالایی باز می‌کنه. چیزی که در واقع دنبالش هستم اون تکنیکه