ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
49 visibility
موضوع: آفیس توسط:

اگر به‌تازگی توسعه ماکروها را شروع کرده‌اید، ممکن است به دنبال راهی ساده برای ارائه مجموعه‌ای از انتخاب‌ها به کاربر باشید و سپس بر اساس پاسخ کاربران اقدامی انجام دهید. اگر از تابع InputBox همراه با ساختار Select Case استفاده کنید، این یک کار نسبتاً ساده است.

اولین کار این است که InputBox خود را راه اندازی کنید تا اطلاعات را به کاربر نمایش دهد. به عنوان مثال، فرض کنید شما پنج گزینه دارید و می خواهید کاربر یکی از آن پنج گزینه را انتخاب کند. می توانید از کد زیر برای کنار هم قرار دادن پنج گزینه، هر کدام در خط خود استفاده کنید:

Prompt = "1. This is your first choice" & vbCrLf
Prompt = Prompt & "2. This is your second choice" & vbCrLf
Prompt = Prompt & "3. This is your third choice" & vbCrLf
Prompt = Prompt & "4. This is your fourth choice" & vbCrLf
Prompt = Prompt & "5. This is your fifth choice"

اکنون می توانید هنگام فراخوانی تابع InputBox در ماکرو از رشته Prompt استفاده کنید. سپس آنچه کاربر با آن پاسخ می‌دهد را به عددی ترجمه می‌کنید که نشان‌دهنده انتخاب او از بین پنج گزینه شما است. کد انجام این کار به صورت زیر است:

UserResp = InputBox(Prompt, "The Big Question")
UR = Val(UserResp)

در این مثال، پاسخ تابع InputBox به متغیر UserResp که باید یک رشته باشد، اختصاص داده شده است. سپس متغیر UR که یک عدد است، بر اساس مقدار رشته تنظیم می شود. (تابع Val مقدار را در یک رشته برمی گرداند.)

تنها کاری که باید انجام دهید این است که بر اساس عددی که از 1 تا 5 انتخاب شده است اقدام کنید. برای این کار می توانید از ساختار Select Case استفاده کنید. زیربرنامه کامل می تواند به صورت زیر ظاهر شود:

Sub Macro1()
    Dim Prompt As String
    Dim UserResp As String
    Dim UR As Single

    Prompt = "1. This is your first choice" & vbCrLf
    Prompt = Prompt & "2. This is your second choice" & vbCrLf
    Prompt = Prompt & "3. This is your third choice" & vbCrLf
    Prompt = Prompt & "4. This is your fourth choice" & vbCrLf
    Prompt = Prompt & "5. This is your fifth choice"
    UR = 0
    While UR < 1 Or UR > 5
        UserResp = InputBox(Prompt, "The Big Question")
        UR = Val(UserResp)
    Wend
    Select Case UR
        Case 1
            Do stuff for choice 1 here
        Case 2
            Do stuff for choice 2 here
        Case 3
            Do stuff for choice 3 here
        Case 4
            Do stuff for choice 4 here
        Case 5
            Do stuff for choice 5 here
    End Select
End Sub

توجه داشته باشید که این مثال از یک حلقه Wend در اطراف تابع InputBox استفاده می کند. این کار برای اطمینان از اینکه کاربر عددی را بین 1 تا 5 وارد می کند انجام می شود. اگر مقدار وارد شده خارج از آن محدوده باشد، به سادگی از کاربر دوباره پرسیده می شود.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 59 visibility
ارسال شده در 25 تیر 1402 موضوع: آفیس توسط: Admin
0 دوستدار 0 امتیاز منفی
0 پاسخ 109 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 137 visibility
ارسال شده در 1 دی 1401 موضوع: عمومی توسط: بی نام
0 دوستدار 0 امتیاز منفی
0 پاسخ 152 visibility
ارسال شده در 29 آذر 1401 موضوع: شبکه های کامپیوتری توسط: بی نام

31.4k سوال

16.7k پاسخ

620 دیدگاه

13.8k کاربر

36 نفر آنلاین
0 عضو و 36 مهمان در سایت حاضرند
بازدید امروز: 100852
بازدید دیروز: 33245
بازدید کل: 33864416
...