PDA

View Full Version : بازکردن فایل PDF توسط اکسس



mrj_60
دوشنبه 16 اسفند 1389, 16:16 عصر
سلام دوستان
یه برنامه اکسس دارم که فایلهای PDF رو باز میکنه
با استفاده از هایپرلینک این کارو کردم ( آدرس فایل PDF رو بصورت هایپرلینک تعریف کردم )
ولی باز کردن فایل PDF خیلی به کندی صورت میگیره
حدود 1 دقیقه برای هر فایل
حالا یه کد دیدم که فایل PDF رو باز میکنه . این کد رو ببینید :


@ECHO OFF
START PDFREADER.EXE FILE1.PDF
EXIT
این فایل رو با فرمت .BAT ذخیره می کنیم وقتی این فایل رو اجرا میکنیم ، برنامه PDFREADER فایل FILE1.PDF رو برامون باز میکنه
حالا میشه بگین من چجوری این کدو تو اکسس بیارم که نخوام برای هر 3000 تا فایلی که دارم یدونه از اینا بسازم و آدرس اونو تو هایپرلینک بزارم ؟؟؟
کسی میتونه کمکم کنه ؟

stabesh
دوشنبه 16 اسفند 1389, 20:16 عصر
با سلام
من دایرکتوری فایلامو در یک فیلد text نگهداری میکنم و با دستور زیر حتی فایلهای ویدئویی با حجم بالا باز میکنم و کندم نیست کندی برنامه شما دلیلشو نمیدونم


Call FollowHyperlink(strFileName, , True)

ali190
سه شنبه 17 اسفند 1389, 23:03 عصر
سلام
کدهای زیر رو در یک ماژول کپی کن:

Option Compare Database
Private Declare Function apiShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) _
As Long
Public Const WIN_NORMAL = 1 'Open Normal
Public Const WIN_MAX = 2 'Open Maximized
Public Const WIN_MIN = 3 'Open Minimized
Private Const ERROR_SUCCESS = 32&
Private Const ERROR_NO_ASSOC = 31&
Private Const ERROR_OUT_OF_MEM = 0&
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&
Function fHandleFile(stFile As String, lShowHow As Long)
Dim lRet As Long, varTaskID As Variant
Dim stRet As String
'First try ShellExecute
lRet = apiShellExecute(hWndAccessApp, vbNullString, _
stFile, vbNullString, vbNullString, lShowHow)

If lRet > ERROR_SUCCESS Then
stRet = vbNullString
lRet = -1
Else
Select Case lRet
Case ERROR_NO_ASSOC:
'Try the OpenWith dialog
varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL " _
& stFile, WIN_NORMAL)
lRet = (varTaskID <> 0)
Case ERROR_OUT_OF_MEM:
stRet = "Error: Out of Memory/Resources. Couldn't Execute!"
Case ERROR_FILE_NOT_FOUND:
stRet = "Error: File not found. Couldn't Execute!"
Case ERROR_PATH_NOT_FOUND:
stRet = "Error: Path not found. Couldn't Execute!"
Case ERROR_BAD_FORMAT:
stRet = "Error: Bad File Format. Couldn't Execute!"
Case Else:
End Select
End If
fHandleFile = lRet & _
IIf(stRet = "", vbNullString, ", " & stRet)
End Function

سپس با کد زیر میتونی هر فایلی رو که بخوای رو open کنی
Call fHandleFile(CurrentProject.Path & "\filename.pdf", 4)
موفق باشی
یاعلی

bita_ziba77
چهارشنبه 18 اسفند 1389, 08:19 صبح
با سلام
من در رخداد on click يك كليد كد
Call fHandleFile(CurrentProject.Path & "\filename.pdf", 4) را وارد نمودم ولي هيچ عكس العملي وجود ندارد.
اگر امكان دارد در قالب يك نمونه ارائه نماييد.

با تشكر

ali190
چهارشنبه 18 اسفند 1389, 17:49 عصر
سلام
در مسیر فایل اکسستون فایل filename.pdf رو قرار دادید؟

bita_ziba77
پنج شنبه 19 اسفند 1389, 08:17 صبح
با سلام
بله آدرس مورد نظر را وارد نمودم.
ولي همچنان هيچ عكس العملي نشان نمي دهد.

با تشكر

ali190
پنج شنبه 19 اسفند 1389, 17:00 عصر
سلام
مجدداً کدها رو بررسی کردم
هیچ مشکلی وجود نداره و کار میکنند
مجدداً مطمئن شوید که کدهایی که در محیط کدنویسیتون مینویسید کار میکنند (macro level=low)
از وجود فایل filename.pdf در مسیر فایل اکسس و از نصب برنامه acrobat reader (جهت گشودن فایل pdf) اطمینان حاصل نمائید
از سایر دوستان خواهش میکنم در صورتی که از عملکرد کدهای بالا اطمینان حاصل فرمودند ، صحت عملکرد کدهای فوق رو گزارش نمانید.
یاعلی

mehdi_952
جمعه 20 اسفند 1389, 07:14 صبح
سلام
مجدداً کدها رو بررسی کردم
هیچ مشکلی وجود نداره و کار میکنند
مجدداً مطمئن شوید که کدهایی که در محیط کدنویسیتون مینویسید کار میکنند (macro level=low)
از وجود فایل filename.pdf در مسیر فایل اکسس و از نصب برنامه acrobat reader (جهت گشودن فایل pdf) اطمینان حاصل نمائید
از سایر دوستان خواهش میکنم در صورتی که از عملکرد کدهای بالا اطمینان حاصل فرمودند ، صحت عملکرد کدهای فوق رو گزارش نمانید.
یاعلی
با سلام
همانطوري كه دوست خوبم ali90 گفتند براي اجراي فايل بايد filename.pdf در مسير فايل اكسس قرار بدي .حتما جواب ميده.

stabesh
جمعه 20 اسفند 1389, 08:33 صبح
با سلام و تشکر
میشه لطف کنید فرق توابع


ShellExecute()
FollowHyperlink
Shell
apiShellExecute

و مقادیر پارامترهای ورودیشون رو نیز توضیح بدید
ایناهارو پیدا کردم
http://support.microsoft.com/kb/148632
http://support.microsoft.com/kb/238245
http://support.microsoft.com/kb/170918
http://p2p.wrox.com/access-vba/12649-opening-files-read-only.html
http://msdn.microsoft.com/en-us/library/bb762153%28v=vs.85%29.aspx
http://www.vbaccelerator.com/codelib/shell/shellex.htm

reza850101
یک شنبه 08 آبان 1390, 07:57 صبح
دوستان من در اون كليك فقط يك فايل پي دي اف ميشود تعريف كرد مانند 4.pdf چطور در هر ركورد يك فايل پي دي اف باز كرد
Call fHandleFile(CurrentProject.Path & "\4.pdf", 4)

لطفا به نمونه نظري بياندازيد ضمنا امكان نمايش فرمتهاي ديگر مثل jpg و يا ورد وجود دارد ؟

reza850101
چهارشنبه 11 آبان 1390, 14:48 عصر
سوال قبلي را كه كسي چوابگو نبود===== من درحال نوشتن يك برنامه براي خودم هستم كه قوانين كه آنها در فرمتهاي عكس فايل پي دي اف وورد است نمايش ددهد سراغ داريد ممنون ميشم راهمايي كنيد
دنبال برنامه اي هستم كه بتونه فرمتهاي عكس فايل پي دي اف وورد را بازكنه چنين چيزي را سراغ داريد ممنون ميشم راهنماييي كنيد

Radmard_birjand
جمعه 10 شهریور 1402, 13:51 عصر
سلام
تشکر
عالی بود :تشویق:

من این کدها رو در قالب یک فایل آماده کردم جهت استفاده دوستان و علاقه مندان