از روش VBA SendKeys برای ارسال کلیدهای فشرده به برنامه فعال استفاده می شود و به شکل ذیل استفاده میگردد :
Application.SendKeys ("s")
کد بالا فشار دادن کلید "s" از روی صفحه کلید شبیه سازی می کند.
روش SendKeys دو آرگومان دارد :
- Keys - کلیدهایی که می خواهید به عنوان متن برای برنامه ارسال کنید.
- Wait (Optional) - این مقدار می تواند درست یا نادرست باشد. اگر درست باشد ، اکسل منتظر می ماند تا ابتدا کلیدها قبل از اجرای خط بعدی کد پردازش شوند. اگر False باشد ، اکسل بدون اینکه منتظر پردازش کلیدها باشید ، به روش خود ادامه می دهد.
SendKeys معمولاً هنگام تعامل با برنامه های دیگر استفاده می شود زیرا این یک روش سریع و آسان برای انجام وظایف است. به عنوان مثال ، هنگام اتوماسیون اینترنت اکسپلورر ممکن است از SendKeys استفاده کنید.
با این حال ، هنگام استفاده از روش SendKeys باید بسیار مراقب باشید زیرا این روش می تواند نتایج غیر منتظره ای داشته باشد. ما توصیه می کنیم از SendKeys فقط به عنوان آخرین چاره و / یا وقتی اشتباهات قابل تحمل هستند (یا به راحتی قابل تشخیص هستند) استفاده کنید.
مثال VBA SendKeys
هر کلید از نظر حروف با شخصیت آنها نمایش داده می شود ، به عنوان مثال " a" است.
اگر می خواهید از کلیدها در ترکیب با Ctrl ، Shift یا Alt استفاده کنید ، باید کد زیر را با موارد زیر مقدم کنید:
Key | Code |
---|---|
Ctrl | ^ |
Shift | + |
Alt | % |
کد زیر از روش SendKeys برای ذخیره کتاب کار استفاده می کند :
Sub UsingSendKeys() Application.SendKeys ("^s") End Sub
همانطور که قبلاً اشاره کردیم ، هنگام استفاده از SendKeys باید بسیار مراقب باشید. این کد از روش Application.Wait استفاده می کند.
Sub UsingSendKeysWithWait() Call Shell("C:\Windows\system32\Notepad.Exe", vbNormalFocus) Application.Wait (Now() + TimeValue("00:00:10")) Call SendKeys("This is Some Text", True) End Sub
نتیجه بعد از 10 ثانیه زمان انتظار همانند تصویر ذیل می باشد :
SendKeys می تواند روشی سریع و آسان برای انجام وظایف باشد. با این حال ، خطرات خطاها نسبتاً زیاد است. فقط در مواردی که خطر پذیرفتنی است از SendKeys استفاده کنید!
ورود به سایت