PDA

View Full Version : فايل راهنما



ali190
شنبه 23 آبان 1388, 21:09 عصر
باسلام خدمت اساتيد محترم
منيه فايل راهنما با فرمت CHM به اسم RAHNAMA واسه برنامه ام ساختم .چور ميتونم با زدن يك دكه در برنامه اين فايل را در مسير پروژه (CURRENTPROJECT.PATH) بازش كنم؟
ممنون

ali190
یک شنبه 24 آبان 1388, 12:39 عصر
من چطور میتونم با زدن دکمه F1 در کل برنامه این فایل CHM باز بشه ، هم اینکه میخواستم توی فرمم یک دکمه بذارم که با زدن این دکمه فایل راهنما در مسیر پروژه currentproject.path باز بشه.

مهدی قربانی
یک شنبه 24 آبان 1388, 16:31 عصر
سلام
شما كدهاي زير رو در يك ماجول كپي كنيد :

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


و بعد يك ماكرو AutoKeys‌ ( با همين نام AutoKeys‌) بسازيد به اين ترتيب كه بعد از ايجاد ماكرو در نوار ابزار دكمه اي هست كه حروف XYZ ديده ميشه كه مربوط به Macro Name هست اين دكمه رو بزنيد تا در ماكرو ستون Macro Name پديدار بشه بعد در همين ستون عبــارت {F1}‌ رو وارد كنيد و در ستون Action هم گزينه RunCode‌ انتخاب كنيد و نهايتاً در قسمت Function Name هم عبارت زير رو وارد كنيد :

fHandleFile (CurrentProject.Path & "\FileName.chm",4)
بجاي FileName نام فايل خودتون رو جايگزين كنيد و يادتون نره كه فايل موردنظر بايد در مسير فايل اكسس شما باشه .
حالا با F1‌ مي تونيد فايل chm‌ رو در داخل فايل اكسس باز كنيد .

مهدی قربانی
دوشنبه 25 آبان 1388, 16:27 عصر
جناب ali190 تونستيد از راه حل ارائه شده بهره برداري كنيد يا به مشكلي برخورد كرديد ؟

ali190
دوشنبه 25 آبان 1388, 16:36 عصر
سلام
من اين كد رو امتحان كردم همين الان و كاملاً جواب داد.
لطف شما كه هميشه شامل حال ماست.من كه نميدونم چطور بايد ازتون تشكر كنم.

مهدی قربانی
دوشنبه 25 آبان 1388, 16:41 عصر
سلام
قابلي نداشت دوست گرامي فقط گفتم شايد به مشكلي برخورد كرديد و اگر نيازي هست بررسي بشه ، به هر حال خوشحالم كه نياز شما تامين شد .