نمایش نتایج 1 تا 2 از 2

نام تاپیک: آموزش vba

  1. #1

    Post آموزش vba

    در این تاپیک در مورد برنامه نویسی vba بحث و تبادل نظر می شود.

  2. #2

    نقل قول: آموزش vba

    سوال : فارسی کردن دکمه های دیالوگ save به وسیله vba چگونه است ؟ آیا کد زیر جواب می دهد؟
    Option Explicit


    Private Const WH_CBT = 5
    Private Const HCBT_DIALOG = 5


    Private Type DIALOG_HOOK_PARAMS
    hHook As Long
    End Type


    Private DIALOGHOOK As DIALOG_HOOK_PARAMS


    Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long
    Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _
    (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
    Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
    Private Declare Function SetDlgItemText Lib "user32" Alias "SetDlgItemTextA" _
    (ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal lpString As String) As Long
    Private Declare Function GetDlgItem Lib "user32" (ByVal hDlg As Long, ByVal nIDDlgItem As Long) As Long


    Public Function SaveFileDialogWithPersianButtons() As String
    Dim fd As FileDialog
    Dim hwndOwner As Long
    Dim hThreadId As Long


    Set fd = Application.FileDialog(msoFileDialogSaveAs)
    hwndOwner = Application.hWnd
    hThreadId = GetCurrentThreadId()


    ' نصب hook براي تغيير دکمه‌ها
    DIALOGHOOK.hHook = SetWindowsHookEx(WH_CBT, AddressOf DialogHookProc, 0, hThreadId)


    If fd.Show = -1 Then
    SaveFileDialogWithPersianButtons = fd.SelectedItems(1)
    Else
    SaveFileDialogWithPersianButtons = vbNullString
    End If

    ' حذف hook
    UnhookWindowsHookEx DIALOGHOOK.hHook
    End Function


    Public Function DialogHookProc(ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    If uMsg = HCBT_DIALOG Then
    Dim hwndDialog As Long
    hwndDialog = wParam

    ' تغيير متن دکمه‌ها به فارسي
    SetDlgItemText hwndDialog, 1, "ذخيره" ' ID دکمه ذخيره
    SetDlgItemText hwndDialog, 2, "لغو" ' ID دکمه لغو


    ' غير فعال کردن hook
    UnhookWindowsHookEx DIALOGHOOK.hHook
    End If
    DialogHookProc = 0
    End Function

تاپیک های مشابه

  1. پاسخ: 8
    آخرین پست: شنبه 08 اسفند 1394, 17:30 عصر
  2. فیلم آموزشی بهینه سازی سایت آموزش SEO آموزش سئو
    نوشته شده توسط alii00114 در بخش آگهی‌ها
    پاسخ: 0
    آخرین پست: چهارشنبه 26 فروردین 1394, 23:42 عصر
  3. پاسخ: 0
    آخرین پست: شنبه 03 آبان 1393, 13:32 عصر
  4. پاسخ: 0
    آخرین پست: چهارشنبه 17 آذر 1389, 08:48 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •