עזרה קוד באקסס

יהודה מילר

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

לדוגמא:
לאחר שיפתח דף באינטרנט, שיכניס את הנתון מעמודה 1 בשדה הראשון אח"כ נתון מעמודה 2 בשדה השני. וכו'

זה מסובך או שניתן לעשות את זה גם למי שלא מבין במיוחד ?
 

moishy

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

שלח לי פרטים באישי ובל"נ אסייע לך.
 

יהודה מילר

מנהל פורום חשבונאות ומס
מנהל
מנוי פרימיום גולד

moishy

משתמש סופר מקצוען
מנוי פרימיום
קוד:
Sub MaamReporting()

    Dim URL As String
    Dim IE As Object
 
    'Create InternetExplorer Object
    Set IE = CreateObject("InternetExplorer.Application")
 
    'Set IE.Visible = True to make IE visible, or False for IE to run in the background
    IE.Visible = True
 
    'Define URL
    URL = "https://www.misim.gov.il/EmHanDoch/startPageIntErnet.aspx"
 
    'Navigate to URL
    IE.Navigate URL
 
    ' Statusbar let's user know website is loading
    Application.StatusBar = URL & " בטעינה. אנא המתן..."
 
    ' Wait while IE loading...
    'IE ReadyState = 4 signifies the webpage has loaded (the first loop is set to avoid inadvertently skipping over the second loop)
    Do While IE.ReadyState = 4
        DoEvents
    Loop   'Do While
    Do Until IE.ReadyState = 4
        DoEvents
    Loop   'Do Until
 
    'Webpage Loaded
    Application.StatusBar = URL & " נטען."
    
    ' מספר תיק עוסק
    IE.Document.All.Item("LogonMaam1_EmTwbCtlLogonMaam_TxtMisOsek").Value = "11111"
    ' קוד משתמש
    IE.Document.All.Item("LogonMaam1_EmTwbCtlLogonMaam_TxtKodUser").Value = "22222"
    ' סיסמה
    IE.Document.All.Item("LogonMaam1_EmTwbCtlLogonMaam_TxtPassword").Value = "33333"
    ' לחיצה על אישור
    IE.Document.All.Item("LogonMaam1_EmTwbCtlLogonMaam_BtnSubmit").Click
    
    'Unload IE
    Set IE = Nothing
    
End Sub
ראשית תבדוק עם זה פותח לך את האתר וממלא את השדות (ולוחץ על הכפתור).
 

יהודה מילר

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

>השראה<

מיתוג | אסטרטגיה | עיצוב, אפיון, וקידום אתרים
מנוי פרימיום
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי
פרסום וקופי
מוזיקה ונגינה
עימוד ספרים
הדמיות בתלת מימד
UX UI
D I G I T A L
עימוד ספרים
אני צריך להעתיק את זה לקוד ? כי לא הצלחתי.
איזה שם צריך לתת לטבלה ולשדות ? כדי שהוא ישאב את הנתונים ?

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

moishy

משתמש סופר מקצוען
מנוי פרימיום
א. יש להעתיק את הקוד הנ"ל למודול רגיל.
ב. הקוד הנ"ל לא מושך נתונים משום מקום, הערכים שהוא מכניס לאתר מובנים בקוד (11111 22222 3333). כמובן ניתן להחליף אותם או להגדיר שימשוך אותם ממסד הנתונים.
ג. מדובר בפרטים של אדם אחד? (א"כ ניתן פשוט להחליף בקוד את נתוני הדמה הנ"ל בנתונים האמיתיים או להשתמש בפונקציית DLookup על מנת למשוך את הנתונים). אם מדובר במספר לקוחות יהיה צורך בrecordset.

כאמור, תבדוק שהקוד הנ"ל עושה את שלושת הפעולות הבאות: 1. פותח את האתר 2. מזין את נתוני הדמה 3. "לוחץ" על הכפתור 'המשך'.

אם זה עובד, תענה על השאלה האם מדובר בפרטים של אדם אחד שצריך לפתוח עבורו את האתר או עבור אנשים רבים.

בכל מקרה, אנחנו צריכים לדעת את הפרטים הבאים על מבנה מסד הנתונים שלך:
- שם הטבלה
- שם השדה של מספר תיק עוסק
- שם השדה של קוד משתמש
- שם השדה של סיסמה

(עצה טובה, כל שמות הנ"ל יהיו באותיות לועזיות (רצוי באנגלית)).

בהצלחה!
 

>השראה<

מיתוג | אסטרטגיה | עיצוב, אפיון, וקידום אתרים
מנוי פרימיום
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי
פרסום וקופי
מוזיקה ונגינה
עימוד ספרים
הדמיות בתלת מימד
UX UI
D I G I T A L
עימוד ספרים
עשיתי לו PLAY והוא נתקע בשורה
StatusBar =
מה זה אומר ?
 

moishy

משתמש סופר מקצוען
מנוי פרימיום
@miro אפשר צילום מסך?
 

יהודה מילר

מנהל פורום חשבונאות ומס
מנהל
מנוי פרימיום גולד
upload_2019-7-10_12-52-13.png
 

משה פישר

משתמש מקצוען
מוזיקה ונגינה
גם אצלי הוא עשה שגיאה על כך אבל בטלתי את השורה ועובד מצוין
גם בסוף יש שורה כזאת בטלתי ועבד מציון

זה אמור לכתוב שם למשתמש מה קורה לא?

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

יהודה מילר

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

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

שם הטבלה: rashi

השדות:
misparosek
kod
sisma
 

moishy

משתמש סופר מקצוען
מנוי פרימיום
אהה, נכון, השורות הללו מתאימות לאקסל.
לאקסס במקום Application.StatusBar השתמשו ב Call SysCmd(acSysCmdSetStatus, " ")
בין הגרשיים, לשים את מה שמופיע אחרי Application.StatusBar
 

moishy

משתמש סופר מקצוען
מנוי פרימיום
מעולה, עובד לי מצוין!!

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

שם הטבלה: rashi

השדות:
misparosek
kod
sisma
מהם השמות של השדות בטופס (לא בטבלה)?
 

יהודה מילר

מנהל פורום חשבונאות ומס
מנהל
מנוי פרימיום גולד
עשיתי אותם שדות גם בטופס
 

moishy

משתמש סופר מקצוען
מנוי פרימיום
תמחק את הקוד הקודם, את הקוד הבא יש לשים במודול של הטופס שבו מוצגים הנתונים דווקא.
קוד:
Sub MaamReporting()

    Dim URL As String
    Dim IE As Object
 
    'Create InternetExplorer Object
    Set IE = CreateObject("InternetExplorer.Application")
 
    'Set IE.Visible = True to make IE visible, or False for IE to run in the background
    IE.Visible = True
 
    'Define URL
    URL = "https://www.misim.gov.il/EmHanDoch/startPageIntErnet.aspx"
 
    'Navigate to URL
    IE.Navigate URL
 
    ' Statusbar let's user know website is loading
    Call SysCmd(acSysCmdSetStatus, URL & " בטעינה. אנא המתן...")
 
    ' Wait while IE loading...
    'IE ReadyState = 4 signifies the webpage has loaded (the first loop is set to avoid inadvertently skipping over the second loop)
    Do While IE.ReadyState = 4
        DoEvents
    Loop   'Do While
    Do Until IE.ReadyState = 4
        DoEvents
    Loop   'Do Until
 
    'Webpage Loaded
    Call SysCmd(acSysCmdSetStatus, URL & " נטען.")
  
    ' מספר תיק עוסק
    IE.Document.All.Item("LogonMaam1_EmTwbCtlLogonMaam_TxtMisOsek").Value = Me.misparosek
    ' קוד משתמש
    IE.Document.All.Item("LogonMaam1_EmTwbCtlLogonMaam_TxtKodUser").Value = Me.kod
    ' סיסמה
    IE.Document.All.Item("LogonMaam1_EmTwbCtlLogonMaam_TxtPassword").Value = Me.sisma
    ' לחיצה על אישור
    IE.Document.All.Item("LogonMaam1_EmTwbCtlLogonMaam_BtnSubmit").Click
  
    'Unload IE
    Set IE = Nothing
  
End Sub
 

moishy

משתמש סופר מקצוען
מנוי פרימיום
@moishy כדי שאוכל לkמוד איך עושים זאת אשמח אם תוכל לכתוב איך אתה יודע את שמות הכפתורים ותיבות הטקסט בדף האינטרנט?

תודה.
זה תלוי במבנה של הדף, לא תמיד זה כל כך פשוט כמו במקרה זה.

אלו הם השלבים למציאת השמות באתר לדיווח מע"מ:
1. פתיחת האתר (https://www.misim.gov.il/emhandoch/startPageIntErnet.aspx)
2. לחצן ימני על השדה המבוקש > בדוק (באנגלית inspect element)
3. לחצן ימני על הקוד HTML שנבחר ע"י השלב הקודם > Edit as HTML
4. השם יופיע בגרשיים אחרי id=

אם זה נשמע טורקית, תנסו ואז תבינו.
 

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

הפרק היומי

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


תהילים פרק קיט ק'

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

לוח מודעות

למעלה