چگونه ورود داده در Windows را بدون کدنویسی خودکار کنیم
یک مرحله را دستی ضبط کنید، آن را طوری تنظیم کنید که با جابهجایی پنجره هم کار کند، و اجازه دهید در حین انجام کار دیگری، خودش تکرار شود.
بهروزرسانی: 18 September 2026 · ضبط، ویرایش، بازپخش و لنگرهای تصویری در Myna Recorder بدون محدودیت زمانی رایگان هستند.
۱. کار
الگو همیشه یکسان است: یک مقدار در جایی قرار دارد، یک فرم آن را در جای دیگری میخواهد، و دویست مورد از این دست وجود دارد. شمارهی فاکتور را کپی کنید، در کادر جستوجو بچسبانید، Enter را بزنید، روی Approve کلیک کنید، منتظر علامت سبز بمانید، و به مورد بعدی بروید. برای خودکارسازی این کار به برنامهنویسی نیازی نیست. به یک ضبطکننده، روشی برای کلیک روی چیزها بهجای پیکسلها، و روشی برای تکرار نیاز دارید.
۲. ضبط یک مرحله
ضبط حرکت ماوس را خاموش کنید
Settings → Recording. بدون حرکت، ماکرو فهرست کوتاهی از کلیکها و کلیدهاست که مستقیم به هدف هر مورد میرود. حرکت را فقط برای نقاشی یا وقتی ماوس روی چیزی میماند ضبط کنید.
کلید F2 را بزنید، یک مورد را دستی انجام دهید، کلید F3 را بزنید
ضبط سراسری است، پس هر کاری که در هر برنامهای انجام دهید را با زمانبندی اصلی ثبت میکند.
برای بازپخش F4 و برای توقف F6 را بزنید
پیش از هر چیز کلید Stop را یاد بگیرید. حتی وقتی Recorder پنجرهی فعال نیست، کار میکند.
نتیجه دو بار نمایش داده میشود: بهصورت فهرست گامها که میتوانید ترتیبشان را عوض کنید و زمانبندیشان را تنظیم کنید، و بهصورت یک اسکریپت خوانا در زبانهی Script.
۳. آمادهسازی برای جابهجایی پنجره
یک کلیک ضبطشده، موقعیت مطلق روی صفحه است. اگر پنجره را جابهجا کنید، وضوح را تغییر دهید، یا آن را روی رایانهی همکارتان اجرا کنید، روی چیز اشتباهی میافتد. راهحل یک لنگر تصویری است: در نمای Images، دکمهی Approve را بهصورت برش ذخیره کنید و نامش را بگذارید. آنگاه گام به این شکل درمیآید:
with section("One invoice"):
click_crop("Search box")
type_text("${number}")
press("enter")
wait_for("Result row", timeout_ms=10000, abort=True)
click_crop("Approve")
wait_for("Green tick", timeout_ms=10000, abort=True)
wait_for تا زمان حضور تصویر مکث میکند، پس ماکرو دیگر شرطی بر سرعت پاسخ برنامه در همان لحظه نیست. برشها را دقیق بگیرید: فقط بخش متمایز را، و چیز دیگری را نه. راهنما دربارهی اطمینان، ناحیه و تطبیق رنگ در برابر شکل توضیح میدهد.
۴. دادن داده به آن
Recorder مقادیر را از روی صفحه میخواند، نه از یک فایل. read_text را به سلول یا فیلدی که مقدار بعدی را دارد نشانه بگیرید، آن را در یک متغیر ذخیره کنید، و در هر متنی که تایپ میکنید از ${name} استفاده کنید:
number = read_text(region=(120, 300, 160, 28), single_line=True)
click_crop("Search box")
type_text("${number}")
همیشه به read_text یک ناحیه بدهید. خوانندهی داخلی روی رایانهی شما اجرا میشود و هزینهای ندارد؛ یک خوانندهی محلی دوم و یک خوانندهی هوش مصنوعی برای متنی هستند که اولی اشتباه میخواند. اعداد را میتوان با .to_number() پاکسازی و مقایسه کرد. کل این موضوع در خواندن متن از روی صفحه آمده است.
۵. تکرار آن
- گزینهی Repeat در نوار ابزار، ماکرو را به تعداد مشخصی اجرا میکند؛ عدد 0 یعنی تا زمانی که آن را متوقف کنید.
- برای حلقه زدن در یک اجرا، از بلوکهای حلقه استفاده کنید. فهرست دستورها کنار ویرایشگر هر یک را با یک مثال نشان میدهد.
- Speed انتظارهای ضبطشده را از 0.25× تا 10× مقیاس میکند. نمیتواند باعث شود برنامه سریعتر پاسخ دهد، پس اگر ماکرویی در 4× خراب شد، راهحل wait_for است، نه اجرای کندتر.
- به مورد بعدی همانطور که دستی انجام میدهید بروید: در فهرست کلید Down را بزنید، یا روی برش ردیف بعدی کلیک کنید.
۶. تشخیص مشکلات
abort=True روی یک wait_for وقتی تصویر هرگز ظاهر نمیشود اجرا را متوقف میکند، بهجای اینکه روی رکورد اشتباه Approve بزند. on_fail="again" به یک گام برچسبدار میپرد تا دوباره امتحان کند. برای گفتگویی که هر صبح یکبار ظاهر میشود، یک ردیف نظارت اضافه کنید: در طول اجرا دنبال تصویر خطا میگردد و میتواند یک پاپآپ نشان دهد، همراه با اسکرینشات برایتان در Telegram یا Discord پیام بفرستد، یا ماکرو را متوقف کند. ردیفهای نظارت بخشی از طرح Basic هستند.
۷. یا آن را توصیف کنید و بگذارید هوش مصنوعی بنویسدش
در طرح Pro، دستیار اسکریپت را بر اساس یک توصیف مینویسد. ابتدا برشهایتان را بگیرید، سپس بگویید صفحه چگونه به نظر میرسد، نه فقط هدف: «روی کادر جستوجو کلیک کن، شماره را تایپ کن، Enter را بزن، منتظر ردیف نتیجه بمان، روی Approve کلیک کن، منتظر علامت سبز بمان» یک ماکرو کاربردی میسازد؛ «فاکتورها را پردازش کن» پرسشی در پاسخ میگیرد. تا زمانی که Use را نزنید، چیزی به ویرایشگر نمیرسد، و هر پاسخ ابتدا توسط کامپایلر بررسی میشود.