ساخت نرم افزار های حرفه ایی و کاربردی با استفاده از برنامه نویسی در اکسل

ساخت نرم افزار در اکسل (استفاده از جعبه پیام و جعبه ورودی)توابع داخلی زیادی در Excel VBA وجود دارد که می‌توانیم از آنها برای ساده‌ سازی برنامه‌های VBA خود استفاده کنیم. در این میان جعبه پیام و جعبه ورودی بیشترین استفاده را دارند. این دو عملکرد مفید هستند زیرا برنامه های ماکرو Excel VBA را تعاملی تر می کنند. جعبه ورودی به کاربر اجازه می دهد تا داده ها را وارد کند در حالی که جعبه پیام خروجی را به کاربر نمایش می دهد.دانلود دوره برنامه نویسی حرفه ایی در اکسل با استفاده از VBA https://sevdaa.ir/product/vba-in-excel/ هدف از تابع MsgBox این است که یک جعبه پیام پاپ آپ تولید کند و از کاربر بخواهد تا قبل از ادامه کار روی دکمه فرمان کلیک کند. کد جعبه پیام به شرح زیر است:yourMsg=MsgBox(Prompt, Style Value, Title)اولین آرگومان، Prompt، پیام را در کادر پیام نمایش می دهد. Style Value تعیین می کند که چه نوع دکمه فرمانی در کادر پیام ظاهر می شود. جدول 3.1 دکمه فرمان قابل نمایش را فهرست می کند. آرگومان Title عنوان جعبه پیام را نمایش می دهد.جدول 3.1: مقادیر سبک و دکمه های فرمانمی‌توانیم از ثابت نام‌گذاری شده به جای اعداد صحیح بری آرگومان دوم استفاده کنیم تا برنامه‌ها خواناتر شوند. در واقع، VBA به طور خودکار لیستی از ثابت های نامگذاری شده را نشان می دهد که می توانید یکی از آنها را انتخاب کنید. جدول 3.2: مقادیر برگشتی و دکمه های دستوری. . .مثال 3.1در این مثال، پیام سلول (1،2) "اولین برنامه VBA شما" در کادر پیام نمایش داده می شود. همانطور که در شکل 3.1 نشان داده شده است، از آنجایی که هیچ ثابت نامی اضافه نشده است، پیام به سادگی پیام و دکمه "OK" را نمایش می دهد.Private Sub CommandButton1_Click()Dim YourMsg As StringCells(1, 2) = "Your first VBA program" YourMsg = Cells(1, 2)MsgBox YourMsg End Subشکل 3.1: جعبه پیام با دکمه OKمثال 3.2در این مثال، ثابت نامگذاری شده vbYesNoCancel به عنوان آرگومان دوم اضافه می شود، بنابراین جعبه پیام دکمه های Yes، No و Cancel را نمایش می دهد، همانطور که در شکل 3.2 نشان داده شده است.Private Sub CommandButton1_Click() Dim YourMsg As StringCells(1, 2) = "Your first VBA program" YourMsg = Cells(1, 2)MsgBox YourMsg, vbYesNoCancel End Subشکل 3.2: جعبه پیام با دکمه های بله، خیر و لغوبرای اینکه جعبه پیام پیچیده تر به نظر برسد، می توانید یک نماد در کنار پیام اضافه کنید. همانطور که در جدول 11.3 نشان داده شده است، چهار نوع آیکون در VBA موجود است.جدول 3.3مثال 3.3کد در این مثال اساساً مشابه مثال 3.2 است، اما vbExclamation نامگذاری شده به عنوان آرگومان سوم اضافه شده است. دو ثابت نام را می توان با استفاده از علامت "+" به یکدیگر متصل کرد. همانطور که در شکل 3.3 نشان داده شده است، جعبه پیام اکنون نماد تعجب را نشان می دهد.Private Sub CommandButton1_Click() Dim YourMsg As StringCells(1, 2) = "Your first VBA program" YourMsg = Cells(1, 2)MsgBox YourMsg, vbYesNoCancel + vbExclamation End Subشکل 3.3: جعبه پیام با نماد تعجب.حتی می توانید بر اساس مقادیر برگشتی نشان داده شده در جدول 3.2، ردیابی کنید که کاربر روی کدام دکمه کلیک می کند. در مثال 3.4 از عملگرهای شرطی If….Then…Else استفاده شده است. شما هنوز نیازی به درک دقیق منطق برنامه ندارید، آنها در فصل بعدی توضیح داده خواهند شد.مثال 3.4Private Sub CommandButton1_Click()Dim testMsg As IntegertestMsg = MsgBox("Click to Test", vbYesNoCancel + vbExclamation, "Test Message")If testMsg = 6 ThenCells(1,1).Value = "Yes button was clicked" ElseIf testMsg = 7 ThenCells(1,1).Value = "No button was clicked" ElseCells(1,1).Value = "Cancel button was clicked" End IfEnd Subتابع ( ) InputBoxتابعی است که یک کادر ورودی را نمایش می دهد که در آن کاربر می تواند مقدار یا پیامی را به صورت متن وارد کند. قالب myMessage=InputBox است (Prompt، Title، default_text، X-position، y-position)تابع myMessage یک نوع داده متفاوت است اما معمولاً به عنوان رشته ای اعلام می شود که ورودی پیام توسط کاربران را می پذیرد. استدلال ها به شرح زیر توضیح داده شده است:درخواست- پیام نمایش داده شده در صندوق ورودی.عنوان- عنوان کادر ورودی.متن پیش‌فرض - متن پیش‌فرضی که در قسمت ورودی ظاهر می‌شود و کاربران می‌توانند از آن به عنوان ورودی مورد نظر خود استفاده کنند یا ممکن است آن را به پیام دیگری تغییر دهند.موقعیت x و موقعیت y - موقعیت یا مختصات جعبه ورودی.مثال 3.5رابط مثال 3.5 در شکل 3.4 نشان داده شده استPrivate Sub CommandButton1_Click()Dim userMsg As StringuserMsg = InputBox("What is your message?", "Message Entry Form", "Enter your messge here", 500, 700)Cells(1,1).Value=userMsg End Subهنگامی که کاربر روی دکمه OK کلیک می کند، کادر ورودی همانطور که در شکل 3.4 نشان داده شده است ظاهر می شود. توجه داشته باشید که عنوان کادر ورودی "فرم ورود پیام" و پیام اعلان "پیام شما چیست" است. پس از اینکه کاربر پیام را وارد کرد و دکمه OK را کلیک کرد، پیام در سلول A1 نمایش داده می شودشکل 3.4: جعبه ورودی