עזרה באקסס הפעלת קוד SHELL מתוך VBA

ארי4791

משתמש צעיר
שלום וברכה.
יש לי קוד שפועל בPowerShell להציג הודעה מוקפצת על המסך.
ואני רוצה להפעיל אותו מתוך אקסס.
איך אני עושה זאת?
תודה רבה

הקוד שלי הוא כך:
קוד:
#Load the required assemblies
[void] [System.Reflection.Assembly]::LoadWithPartialName(“System.Windows.Forms”)#Remove any registered events related to notifications
##Remove-Event BalloonClicked_event -ea SilentlyContinue
##Unregister-Event -SourceIdentifier BalloonClicked_event -ea silentlycontinue
##Remove-Event BalloonClosed_event -ea SilentlyContinue
##Unregister-Event -SourceIdentifier BalloonClosed_event -ea silentlycontinue#Create the notification object
$notification = New-Object System.Windows.Forms.NotifyIcon

$path = (Get-Process -id $pid).Path
$notification.Icon  = [System.Drawing.Icon]::ExtractAssociatedIcon($path)
$notification.BalloonTipTitle = “כותרת”
$notification.BalloonTipIcon = “Info”
$notification.BalloonTipText = “טקסט”
$notification.Visible = $True

## Register a click event with action to take based on event
#Balloon message clicked
register-objectevent $notification BalloonTipClicked BalloonClicked_event `
-Action {[System.Windows.Forms.MessageBox]::Show(“Balloon message Clicked”,”Information”);$notification.Visible = $False} | Out-Null

#Balloon message closed
register-objectevent $notification BalloonTipClosed BalloonClosed_event `
-Action {[System.Windows.Forms.MessageBox]::Show(“Balloon message closed”,”Information”);$notification.Visible = $False} | Out-Null

#Call the balloon notification
$notification.ShowBalloonTip(600)
 

מתמצא

משתמש פעיל
תשמור את הקוד הנ"ל בקובץ עם סיומת ps1. ותריץ אותו דרך האקסס
אם הערכים בו משתנים לפי הנתונים של האקסס (למשל תוכן ההודעה) - תכתוב לקובץ תחילה ואז תריץ אותו

אגב הקוד שלך מלא בשורות מיותרות...
מספיק-
קוד:
[void] [System.Reflection.Assembly]::LoadWithPartialName(“System.Windows.Forms”)
$notification = New-Object System.Windows.Forms.NotifyIcon

$path = (Get-Process -id $pid).Path
$notification.Icon  = [System.Drawing.Icon]::ExtractAssociatedIcon($path)
$notification.BalloonTipTitle = “שים לב!”
$notification.BalloonTipIcon = “Info”
$notification.BalloonTipText = “  התראה נכנסה!”
$notification.Visible = $True

$notification.ShowBalloonTip(10)
 

ארי4791

משתמש צעיר
השורות ה"מיותרות" האלה נועדו כדי לכתוב פקודה כאשר לוחצים על ההודעה...
אבל תודה!
 

ארי4791

משתמש צעיר
כשאני שומר אותו בקובץ sp1 ולוחץ להפעיל כpowershell לא קורה כלום.
אתה יודע למה?

עריכה: הצלחתי לשמור אותו בקובץ ps1, אבל כשאני מפעיל אותו אמנם הוא מציג את ההודעה, אבל הקוד ש'תופס' את הלחיצה על ההודעה לא מופעל.
כנראה החלון של הPowerShell צריך להיות פתוח בשביל זה.
מה לדעתך אפשר לעשות?
תודה
 
נערך לאחרונה ב:

משה פישר

משתמש מקצוען
מוזיקה ונגינה
מישהו אולי מסכים להכין קובץ דוגמא להנ"ל?

אני פשוט לא יודע איך לעשות זה.

תודה
 

ארי4791

משתמש צעיר
דוגמא למה?
לSHELL? או לאקסס?
כי באקסס אני לא יודע איך לעשות את זה, ובSHELL פשוט תעשה העתק הדבק.
 

ארי4791

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

קבצים מצורפים

  • systray.rar
    KB 36.6 · צפיות: 15

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קכו

א שִׁיר הַמַּעֲלוֹת בְּשׁוּב יְהוָה אֶת שִׁיבַת צִיּוֹן הָיִינוּ כְּחֹלְמִים:ב אָז יִמָּלֵא שְׂחוֹק פִּינוּ וּלְשׁוֹנֵנוּ רִנָּה אָז יֹאמְרוּ בַגּוֹיִם הִגְדִּיל יְהוָה לַעֲשׂוֹת עִם אֵלֶּה:ג הִגְדִּיל יְהוָה לַעֲשׂוֹת עִמָּנוּ הָיִינוּ שְׂמֵחִים:ד שׁוּבָה יְהוָה אֶת (שבותנו) שְׁבִיתֵנוּ כַּאֲפִיקִים בַּנֶּגֶב:ה הַזֹּרְעִים בְּדִמְעָה בְּרִנָּה יִקְצֹרוּ:ו הָלוֹךְ יֵלֵךְ וּבָכֹה נֹשֵׂא מֶשֶׁךְ הַזָּרַע בֹּא יָבוֹא בְרִנָּה נֹשֵׂא אֲלֻמֹּתָיו:
נקרא  16  פעמים

לוח מודעות

למעלה