דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. האטת ריצת קוד vba

האטת ריצת קוד vba

מתוזמן נעוץ נעול הועבר תכנות
21 פוסטים 7 כותבים 590 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    כתב ב נערך לאחרונה על ידי
    #12

    @איש-ימיני, אין בכלל לולאה...

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

    תגובה 1 תגובה אחרונה
    3
    • אורייא מנותק
      אורייא מנותק
      אוריי
      השיב למטעמים ב נערך לאחרונה על ידי אוריי
      #13

      @מטעמים כתב בהאטת ריצת קוד vba:

      אבל שמתי לב שהוא נתקע דוקא מיד בתחילת הקוד בשורה שהוא מבצע פעולת פתיחת קובץ.

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

      וזו הסיבה שבריצה ע"י F8 הקוד עובד מעולה.

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

      בהצלחה.

      ניתן לפנות אלי גם ב al0548446188@gmail.com
      ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

      מ תגובה 1 תגובה אחרונה
      2
      • מ מנותק
        מ מנותק
        מטעמים
        השיב לאוריי ב נערך לאחרונה על ידי
        #14

        @אוריי כתב בהאטת ריצת קוד vba:

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

        תוכל לתת דוגמה?
        כי עשיתי מה ש @mekev כתב לעיל:

        ניתן להוסיף השהיה
        באמצעות הקוד הבא
        (הפוקנציה עוצרת עד לשעה המבוקשת, ע"מ להשיג השהיה של זמן נוכחי תוך כדי הרצת הקוד מוסיפים את הnow+)

        Application.Wait (Now + TimeValue("00:00:05"))
        

        ולא עזר כ"כ.

        אורייא תגובה 1 תגובה אחרונה
        0
        • אורייא מנותק
          אורייא מנותק
          אוריי
          השיב למטעמים ב נערך לאחרונה על ידי אוריי
          #15

          @מטעמים את האמת אני נתקלתי בזה לפני איזה 3 שנים, וזה היה הפתרון.

          1. איפה בדיוק שמת את הקוד של ההמתנה (באיזו שורה)???
          2. ולכמה זמן נתנת לו המתנה ומה יקרה אם תתן לו דקה שלימה להמתין.

          אין לי כרגע גישה לקובץ שאיתו היה לי את הבעיה בכדי לבדוק מה בדיוק עשיתי ועם איזה קוד השתמשתי.

          ניתן לפנות אלי גם ב al0548446188@gmail.com
          ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

          מ תגובה 1 תגובה אחרונה
          1
          • מ מנותק
            מ מנותק
            מטעמים
            השיב לאוריי ב נערך לאחרונה על ידי
            #16

            @אוריי כתב בהאטת ריצת קוד vba:

            איפה בדיוק שמת את הקוד של ההמתנה (באיזו שורה)???
            ולכמה זמן נתנת לו המתנה ומה יקרה אם תתן לו דקה שלימה להמתין.

            עשיתי ממש עכשיו כמה ניסיונות,
            בסופו של דבר...
            העתקתי את השורת קוד כמו שהיא (5 שניות) והדבקתי 4 פעמים לאורך הקוד. והופ.. רץ יפה והאקסל לא נכנס לקיפאון; אמנם זמן העיבוד ממושך קצת (20 שניות זה המון) אבל מה שחשוב לי שהוא לא קורס.

            תודה לכל המסייעים.

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

            אורייא תגובה 1 תגובה אחרונה
            2
            • OdedDvirO מנותק
              OdedDvirO מנותק
              OdedDvir
              כתב ב נערך לאחרונה על ידי OdedDvir
              #17

              אני יודע שהגעתי מאוחר למסיבה...
              @אוריי אתה אבחנת את הבעיה נכון, יפה מאוד!
              אבל הפתרון הזה עקום לטעמי,
              יש אפשרות יותר אלגנטית להמתין עד שהקובץ יהיה מוכן לכתיבה,
              @מטעמים תחליף את שורה 13 בדוגמא שהבאת לעיל, בקוד הבא:

              Dim newWb As Workbook
              Set newWb = Workbooks.Open(קובץ_מקור & "x", ReadOnly:=False)
              Do Until newWb.ReadOnly = False
                  DoEvents
              Loop
              ' עכשיו אתה חופשי לבצע פעולות
              
              תגובה 1 תגובה אחרונה
              6
              • מ מנותק
                מ מנותק
                מטעמים
                כתב ב נערך לאחרונה על ידי
                #18

                @OdedDvir זה אכן עזר.

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

                OdedDvirO תגובה 1 תגובה אחרונה
                1
                • OdedDvirO מנותק
                  OdedDvirO מנותק
                  OdedDvir
                  השיב למטעמים ב נערך לאחרונה על ידי
                  #19

                  @מטעמים רק בשביל קריאות הקוד, אפשר גם לקצר, אבל זה פחות מובן מה קורה:

                  Do Until Not Workbooks.Open(SourceFile, ReadOnly:=False).ReadOnly
                      DoEvents
                  Loop
                  ' עכשיו אתה חופשי לבצע פעולות
                  
                  תגובה 1 תגובה אחרונה
                  4
                  • אורייא מנותק
                    אורייא מנותק
                    אוריי
                    השיב למטעמים ב נערך לאחרונה על ידי אוריי
                    #20

                    @OdedDvir יפה מאוד, אני לא הכרתי את זה (למדתי עוד משהו היום 😉 ).

                    @מטעמים כתב בהאטת ריצת קוד vba:

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

                    מעניין לדעת האם אפשר לבדוק למה המחשב קורס ואיזה רכיב כשל?

                    ניתן לפנות אלי גם ב al0548446188@gmail.com
                    ותמיד... אבל תמיד תוכלו לשאול אותי ב :) כאן שאלות באקסל

                    מ תגובה 1 תגובה אחרונה
                    0
                    • מ מנותק
                      מ מנותק
                      מטעמים
                      השיב לאוריי ב נערך לאחרונה על ידי
                      #21

                      @אוריי כתב בהאטת ריצת קוד vba:

                      מעניין לדעת האם אפשר לבדוק למה המחשב קורס ואיזה רכיב כשל?

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

                      תגובה 1 תגובה אחרונה
                      0

                      • 1
                      • 2
                      בא תתחבר לדף היומי!
                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • דף הבית
                      • קטגוריות
                      • פוסטים אחרונים
                      • משתמשים
                      • חיפוש
                      • חוקי הפורום