@ראש-פינה אמר בIllustrator לא פותח קבצים בצורה תקינה:
מה יכול להיות הבעיה. זה ודאי לא בעיה בקובץ.
איך אתה יודע שזה נכון? האם בדקת במחשב אחר?
@ראש-פינה אמר בIllustrator לא פותח קבצים בצורה תקינה:
מה יכול להיות הבעיה. זה ודאי לא בעיה בקובץ.
איך אתה יודע שזה נכון? האם בדקת במחשב אחר?
@יוסי1 פעם נתקלתי בבעיה דומה, האילוסטרטור היה מצליח ליצור קבצים חדשים ללא בעיה, אך לא היה פותח קבצים. לבסוף התברר שהייתה בעיה עם שם הקובץ בעברית. כששיניתי את שם הקובץ (ואת התיקיה שלו) לאנגלית הכל עבד מצוין.
@איש-ימיני אפשר לנסות גישה אחרת, ולהשתמש בקריאת מערכת כדי לפתוח את הקישור
לשם כך עליך להצהיר על פונקצית API של Windows בשם ShellExecute
פתח מודל חדש ותרשום
Option Compare Database
Option Explicit
Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal lpnShowCmd As Long) As LongPtr
Public Sub OpenURL(ByVal sURL As String)
ShellExecute 0, "open", sURL, "", "", 1
End Sub
עכשיו בקוד של הפקד תרשום פשוט
Private Sub Expr1_Click()
OpenURL Me!Expr1
End Sub
תבדוק האם גם עכשיו נפתח פעמיים
@איש-ימיני תבדוק האם זה מופיע פעם אחת והקישור עדיין נפתח פעמיים
(כמובן תזכור קודם למחוק את התוכן של חלון ה-Immediate)
@איש-ימיני בארוע הלחיצה אתה צריך לבחור [פרוצדורת אירוע], ללחוץ על הנקודות [...] ואז לרשום את הקוד (בתוך הפונקציה)
@שלומ אמר בתוכנה ליצירת פונטים - עבור אקורדים לגיטרה - האם קיים:
אתה יכול להביא לי כזה תוכנה או לרשום לי מה לחפש?
חפש ChordPro Viewer בגוגל. יש כמה. אבל אני לא יודע אם הן יעבדו טוב בעברית...
@איש-ימיני
אתה צריך לבצע את הפעולות הבאות:
Application.FollowHyperlink Me!<שם הפקד>
@ראש-פינה אתה צריך ליצור טבלת ציר PivotTable
@שעטנ-ז-ג-ץ אני הייתי מנסה בResourceEditor להחליף את התמונה
@אוריי אמר בהפעלת קוד vba באקסל דרך אקסס:
אבל צריך לשים לב שבאקסל מותאם לvba הסיומת היא .xlsm ולא .xlsx כך שבמצב כזה הוא לא יקרא אותו
נכון, אני אערוך את המקור למעלה
מוזר מאד שבהתחלה זה עבד לי גם כאשר הסיומת הייתה .xlsx אבל כאשר השתמשתי עם הקוד הזה הוא דורש דווקא סיומת של .xlsm
גם אצלך (בצילום מסך למעלה) כתוב .xlsm
@אוריי אמר בהפעלת קוד vba באקסל דרך אקסס:
האם ישנה אפשרות להריץ את הקוד בלי לפתוח את האקסל (או לכל הפחות שלא יראו אותו).
כן, תשנה את שורה 7 ל:
xl.Visible = False
או שפשוט תמחק אותה, כמדומני שברירת המחדל היא לא להציג את הקובץ
לגבי ההפניה של הקוד לעבר מיקום הקובץ יש לי בעיה קטנה כי לפעמים אני מעביר את הקובץ ממחשב למחשב ואני רוצה שהוא יעבוד רק מה שקורה הוא שאני צריך לשנות בתוך הקוד את ההפניה כעת יש לי קובץ של דטא שבו יש לי טבלאות מקושרות כעת אני רוצה לדעת האם במקום הקוד של ההפניה אני כותב לו שיחפש בתוך התקיה ששם הדטא נמצאת את קובץ אקסל בשם XXXXX כך בכל פעם שאני יעתיק את הקובץ למחשב אחר ברגע שאני יעדכן את מיקום הדטא יתעדכן גם מיקום הקובץ?
מקווה שהובנתי היטב..
הבנתי, אפשר לעשות כך, ולקרוא את הערך מהטבלה על ידי DLookup. אבל אז תצטרך לעדכן בכל מחשב את הטבלה...
אני מציע לך לשים את האקסל באותה תיקיה כמו קובץ האקסס ולהשתמש באובייקט CurrentProject כדי לאחזר את מיקום הקובץ של האקסס, ואז לבצע קריאה כך (במקום שורה 9):
Dim xlFilePath As String
xlFilePath = CurrentProject.Path & "\" & "שם הקובץ שלך.xlsm"
xl.Workbooks.Open xlFilePath, True, False
@אוריי ההודעה הזו נובעת מכך שיש הגנה על הרצת פקודות מאקרו באקסל באופן בלתי מבוקר, כי ישנם וירוסים שנכתבו מאחורי קבצי אקסל תמימים לכאורה.
הפתרון הוא ליצור הרשאה מתאימה לקובץ על מנת שאקסל ואקסס יתנו בו אמון.
@אוריי תשנה את שורה 3 ל:
Dim xl As Object
@אוריי אמר בהפעלת קוד vba באקסל דרך אקסס:
יש לי קובץ אקסל שבו יש לי קוד vba להדפסה שלו.
ואני רוצה דרך האקסס להדפיס ואפי' מבחינתי לא לפתוח את האקסל בכלל (אם אפשרי)
תפרט יותר את הקוד שבאקסל, מה עשית לקוד שמצאת, ומה השגיאה
@אוריי זה אומר שאין לך פקד בשם "5" בטופס, אבל בטבלה יש
@אוריי זה בגלל שמעיקרא הפונקציה סורקת רק את הפקדים שמסומנים
אפשר לשנות שתסרוק הכל ולעדכן את כולם, כך
Public Sub SetColors()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("ShelfCharacteristics", dbOpenSnapshot, dbReadOnly)
rs.MoveFirst
While Not rs.EOF
If rs!ClosedShelf Then
Me.Controls(CStr(rs!ShelfNumber)).ForeColor = vbRed
Else
Me.Controls(CStr(rs!ShelfNumber)).ForeColor = vbBlack
End If
rs.MoveNext
Wend
rs.Close
End Sub
@אוריי אתה צריך להוריד את המילה Form
Call Forms("as").SetColors()
@אוריי האם מתבצעת בכלל קריאה לפונקציה בזמן הריצה?
@אוריי הקוד צריך להמצא בטופס שמציג את השאילתא על ShelfCharacteristics
העובדה שהטופס הנ"ל נמצא בעוד טופס אחר לא משנה.
י יש שאילתה לפי מס' מדף השאילתה מוצגת בתוך טופס
נקרא לו A
והטופס הזה בתוך טופס אחר
נקרא לו B
הקוד צריך להיות בטופס A