אין תגובות

הפעלת תוכנות באמצעות אקסל VBA

במהלך ריצת קוד אקסל VBA ניתן להפעיל תוכנות שונות כגון מחשבון , צייר , משחקים ועוד.

כדי להפעיל תוכנות נשתמש ב- Shell

מבנה ה- Shell

Shell(pathname[,windowstyle])

Pathname חובה , מסלול או שם קובץ ההפעלה.

Windowstyle מצב החלון , לא חובה. אם לא מציינים החלון ממוזער עם פוקוס עליו.

דוגמא להצגת המחשבון בחלון רגיל:

Shell "Calc.exe", vbNormalFocus

דוגמא להצגת הצייר:

Shell "mspaint.exe", vbNormalFocus

דוגמא להצגת FReecell:

Shell "freecell.exe" , vbNormalFocus

כל הדוגמאות הנ"ל עובדות מצוין ,

אבל יש בעיה קטנה,

אם התוכנה כבר פתוחה וממוזערת , נפתח מופע נוסף של התוכנה.

כדי למנוע מצב של פתיחת מופע נוסף נשתמש בקוד הבא:

בשלב ראשון נעביר פוקוס לתוכנה. אם התוכנה לא פתוחה נוצרת שגיאה.

רק אם נוצרת שגיאה סימן שצריך לפתוח את התוכנה.

On Error Resume Next

AppActivate "Paint" ' העברת המיקוד לצייר אם פתוח

If Err <> 0 Then

Err.clear

Shell "mspaint.exe", vbNormalFocus 'הפעלת הצייר אם סגור

If Err <> 0 Then MsgBox לא ניתן להפעיל את הצייר '

End If

איזה תוכנה הנך רוצה להפעיל מתוך אקסל VBA?

ב ה צ ל ח ה !

הוסף תגובה " class="ir icon-in">linkedin twitter email