בקשת מידע | שאלות לגבי המשך פיתוח התוסף וורד תורני
-
כאמור, הייתי באמצע לעבוד על כל הפקדים שלא מופיעים בתפריט הכלים [לחלק אותם לקטגוריות וכו'] דא עקא שהזמן יכלה והם לא יכלו, כך שאני מעלה את מה שהכנתי, ואם מישהו רוצה להמשיך במלאכה תע"ב
לא מחולק לקטגוריות.dotm
מחולק חלקית לקטגוריות.dotm
מדריך ,ראו עוד כאן
אם יש למישהו רשימה ספציפית של פקדים שלדעתו נצרכים אשמח אם יכתוב אותם כאן
עיקר הסיבה שהתחלתי לעבוד על זה היה מכיון שכל פעם שאני צריך פקד שלא נמצא ברצועת הכלים הייתי צריך להוסיפו ידנית ולא היתה אופציה להפעיל אותו ישירות, פיתרון חלקי ההוא ללחוץ על "ספר לי מה אתה רוצה לעשות"
אבל הבעיה שם היא שלא כל הפקדים מופיעים [למשל: "הצג קודי שדה"]
ישנה אפשרות ליצור יוזר פורם עם אפשרות חיפוש דרכו, השאלה היא אם לדעת הציבור זה שווה את המאמץ, אשמח אם תצביעו בסקר כדי שאדע את דעתכם
לגבי חיפוש באוצר החכמה ובבר אילן די נתקלתי במבוי סתום, בכל צעד קדימה אני חוזר שנים אחורה, אם יש למישהו כח שיעבוד על זה
Doc1.dotm
מראי מקומות:
https://tchumim.com/topic/15063/פקודת-מאקרו-בוורד-שפותחת-תוכנה-אחרת-ויכולה-לעשות-פעולות-בתוך-התוכנה-האחרת
https://mitmachim.top/post/637059 -
ביקשתי מבארד שיכתוב לי סקריפט פייתון שימיין את כל הפקודות שלא נמצאות בתפריט הכלים לפי קטגוריות והוא הביא לי שני סקריפטים, בשניהם יש שגיאות בהרצה, אשמח אם מישהו יוכל לתקן את הקוד, להריץ אותו ולהעלות כאן את התוצאות
@מתכנת-חובב @פייתוניסט @מדריך-html @מאן-דאמר-5
1:import win32com.client import collections word = win32com.client.Dispatch("Word.Application") commands = [] for command in word.CommandBars("Ribbon").Controls: if command.Id not in word.CommandBars("Ribbon").DefaultIds: commands.append({ "id": command.Id, "label": command.Label, "category": command.Category, }) categories = collections.defaultdict(list) for command in commands: categories[command["category"]].append(command) for category, commands in categories.items(): print("Category:", category) for command in commands: print(" ", command["label"])
2:
import win32com.client import collections word = win32com.client.Dispatch("Word.Application") commands = [] for command in word.CommandBars("Ribbon").Controls: if command.Id not in word.CommandBars("Main").DefaultIds: commands.append({ "id": command.Id, "label": command.Label, "category": command.Category, }) categories = collections.defaultdict(list) for command in commands: categories[command["category"]].append(command) for category, commands in categories.items(): print("Category:", category) for command in commands: print(" ", command["label"])
בתודה מראש
-
-
@פייתוניסט אין לי כרגע זמן לבדוק את זה לעומק אבל ראיתי שגם אחרי התקנת pywin32 הוא מחזיר שגיאה.
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147024809), None)
-
@פייתוניסט צריך להתקין את pywin32 בדווקא?
אני שואל כי הספריות win32com.client ו collections מותקנות בהתקנת פייתון על ווינ', כך שאין צורך להתקין אותם ע"י pip ,השגיאות שאני מקבל הן כדלהלן:שגיאה בסקריפט 1:
Traceback (most recent call last): File "C:\Users\05832\OneDrive\Desktop\a\bard1.py", line 8, in <module> if command.Id not in word.CommandBars("Ribbon").DefaultIds: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\05832\AppData\Roaming\Python\Python311\site-packages\win32com\client\dynamic.py", line 639, in __getattr__ raise AttributeError("%s.%s" % (self._username_, attr)) AttributeError: <unknown>.DefaultIds
שגיאה בסקריפט 2:
Traceback (most recent call last): File "C:\Users\05832\OneDrive\Desktop\a\bard2.py", line 8, in <module> if command.Id not in word.CommandBars("Main").DefaultIds: ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\05832\AppData\Roaming\Python\Python311\site-packages\win32com\client\dynamic.py", line 226, in __call__ self._oleobj_.Invoke(*allArgs), self._olerepr_.defaultDispatchName, None ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147024809), None)
-
@האדם-החושב כתב בבקשת מידע | שאלות לגבי המשך פיתוח התוסף וורד תורני:
ביקשתי מבארד שיכתוב לי סקריפט פייתון
אשמח אם מישהו יוכל לתקן את הקוד
תלך למי שיצר את הקוד
-
@פייתוניסט כתב בבקשת מידע | שאלות לגבי המשך פיתוח התוסף וורד תורני:
תלך למי שיצר את הקוד
זה ממש מתיש לעמוד מול מכונה שנותנת לך קודים שגויים אחד אחרי השני,וכשאתה שואל אותה מה השגיאה היא נותנתלך מליון אופציות
-
@האדם-החושב ניסית ב- GPT?
-
@האדם-החושב מה ההנחיה שכתבת לו?
-
הבקשה שנשלחה: I am looking for a file that works in the form of CUSTOMUI in Microsoft Word that adds all the commands that are not in the tools menu to the menu
@106 gpt עוד יותר חרטטן, בארד לפחות לא ממציא ספריות שלא קיימות -
@האדם-החושב לצערי אין לי מספיק ידע ב VBA כדי לבדוק אם זה משהו שיעזור לך, אבל זה מה שהצלחתי להוציא מGPT, תעדכן אם זה עזר....
כדי ליצור סקריפט המציג רשימה של פקודות שאינן בתפריט כלים ב-Microsoft Word, תוכל להשתמש בקוד Visual Basic for Applications (VBA). הנה דוגמה כיצד תוכל להשיג זאת:
- פתח את Microsoft Word והקש Alt + F11 כדי לפתוח את עורך Visual Basic.
- הכנס מודול חדש על ידי לחיצה על "הוספה" בתפריט ובחירה ב"מודול".
- במודול, הדבק את הקוד הבא:
vba
Sub ListCommandsNotInToolsMenu() Dim cmdBar As CommandBar Dim cmdControl As CommandBarControl ' Get the Tools menu Set cmdBar = Application.CommandBars("Tools") ' Loop through each command in the command bar For Each cmdControl In cmdBar.Controls ' Check if the command is not in the Tools menu If cmdControl.Type <> msoControlPopup Then Debug.Print cmdControl.Caption End If Next cmdControl End Sub
- הקש F5 כדי להפעיל את המאקרו.
הקוד לעיל עובר בלולאה בכל פקודה בתפריט Tools ומדפיס את הכיתובים של פקודות שאינן תפריט קופץ (תפריט משנה) לחלון המיידי בעורך Visual Basic.
שימו לב שקוד זה מדפיס רק את כתוביות הפקודה לחלון המיידי. אם ברצונך להציג את רשימת הפקודות בממשק משתמש מותאם אישית (כמו תיבת דו-שיח או סרט מותאם אישית), תצטרך לשנות את הקוד בהתאם.
-
@מאן-דאמר-5
למיטב הבנתי הפקודה של commandbars הינה פקודה שכוללת בתוכה רק את מה שעלול להופיע בסרגל הכליםעשיתי לעצמי קוד דומה שמדפיס את כל הפקודות commandbarsברשימה יצא בערך 250 פקודות ולא מצאתי שם כלום שלא נמצא בסרגל הכלים
-
@pcinfogmach אפשר אולי לבקש מ GPT משהו אחר, בכל אופן זה מה שאני ביקשתי:
I am looking for a script that works in the form of CUSTOMUI in Microsoft Word that displays a list of all the commands that are not in the Tools menuעל בסיס מה ש @האדם-החושב כתב עם קצת שינויים.