PDA

View Full Version : باز نگهداشتن Acrobat بوسیله ی VBA



bTajahmadi
جمعه 17 اسفند 1386, 10:37 صبح
تعداد زیادی فایل PDF دارم که کاربر هر بار تعدادی از آن ها را باز کرده و می بندد. کاربر معمولا بعد از دیدن یک فایل آن را از طریق دکمه ی close می بندد و به این ترتیب Acrobat هم به همراه فایل بسته می شود.
می خواهم مجبور نباشم هر بار که یکی از PDF ها را درخواست می کند نرم افزار Acrobat را باز کنم. اگر بتوانم یک نسخه از Acrobat را همیشه باز نگهدارم این کار شدنی خواهد بود.
این کد را همن نوشته ام اما متاسفانه جواب نمی گیرم :



Function OpenPDFFile(strFileName As String) As Boolean
Static appAcrobat As CAcroApp
Dim acroPDDoc As CAcroPDDoc
Dim acroAVDoc As CAcroAVDoc
Set appAcrobat = GetObject("", "AcroExch.App")
Set acroAVDoc = CreateObject("AcroExch.AVDoc")
acroAVDoc.Open strPath & strFileName, ""
Set acroPDDoc = acroAVDoc.GetPDDoc
appAcrobat.Show
appAcrobat.Restore (2)
End Function


در واقع سعی کرده ام Acrobat را در یک متغیر static قرار دهم تا از پس از پایان اجرای function از بین نرود و در فراخوانی مجدد نیاز به ساخت (create) دوباره ی آن نباشد.
این راه حل گرچه باعث می شود تا یک نسخه از Acrobat در پس زمینه باز بماند اما در فراخوانی مجدد فایل درخواست شده را باز نمی کند!

می خواستم بدانم کسی از دوستان راه حلی برای fix کردن این مشکل دارد یا اینکه راه دیگری به نظرش می آید؟