-
אשמח אם יוכלו לעזור לי
יש לי שני קודי מאקרו קצרים שאני לא מצליח לשלב ביניהםמאקרו להדפסת טווח מותאם אישית (למדפסת ברירת מחדל)
Sub PrintSomeCells() Range("A2:G24").PrintOut End Sub
מאקרו להדפסה באמצעות תיבת דו שיח
Sub Print() Application.Dialogs(xlDialogPrint).Show End Sub
איך אני יכול לשלב ביניהם כך שידפיס טווח מוגדר באמצעות תיבת דו שיח
-
כמו זה:
Set fd = Application.FileDialog(msoFileDialogFilePicker) With fd .AllowMultiSelect = False .Title = "Please select the file to kill his non colored cells" .Filters.Add "Excel", "*.xls" .Filters.Add "All", "*.*" If .Show = True Then txtFileName = .SelectedItems(1) End If End With
שאתה יוצר מופע fd של האובייקט
Application.FileDialog(msoFileDialogFilePicker)
אותו דבר תעשה
Set fd = Application.FileDialog(xlDialogPrint)
ואז
תגדיר לו מה שצריך.
בסוף תעשה לו Show ותקבל את הערכים שאתה רוצה. -
כמו זה:
Set fd = Application.FileDialog(msoFileDialogFilePicker) With fd .AllowMultiSelect = False .Title = "Please select the file to kill his non colored cells" .Filters.Add "Excel", "*.xls" .Filters.Add "All", "*.*" If .Show = True Then txtFileName = .SelectedItems(1) End If End With
שאתה יוצר מופע fd של האובייקט
Application.FileDialog(msoFileDialogFilePicker)
אותו דבר תעשה
Set fd = Application.FileDialog(xlDialogPrint)
ואז
תגדיר לו מה שצריך.
בסוף תעשה לו Show ותקבל את הערכים שאתה רוצה.@מנצפך
תודה על עזרתך
הדו שיח שציינתי הוא מובנה באקסל
ראה תמונה
ולא ניתן לשנות אותו, (זה המאקרו השני שהבאתי)
השאלה שלי איך אני יכול לעשות שהפקודה תבוא על תאים שאציין במאקרו (כמו במאקרו הראשון) -
עשיתי הקלטת מאקרו, בדקתי את הקוד והעתקתי לכאן, תגיד אם זה עזר.
Sub Macro1() Selection.PrintOut Copies:=1, Collate:=True End Sub
@chagold
אבקש סליחה מכבודו על הטרחה
אך המאקרו שהבאת הוא מאקרו זהה למאקרו הראשון שהבאתי (רק שהטווח הוא בחירה ידנית)הוא לא מפעיל תיבת דו שיח כנ"ל
(האם יש קיצור מקשים באקסל לפתיחת תיבת דו שיח? כמו כאן בכרום
cntl+shift+p
) -
@chagold
זה פותח את ההדפסה שבתוך קובץ
אני מתכוון חלון חדש להדפסה -
ברשימת הפקודות הכוללת שיש באקסל (קובץ>אפשרויות>התאמה אישית של רצועת הכלים) ותבחר שם בלשונית 'כל הפקודות'
תכניס את האפשרות לאחת הלשוניות.
כשתלחץ עליה, תמצא את האפשרות של חלונית ההדפסה שחיפשת.כשעשיתי מאקרו עליהם יחד, הגעתי לקוד הזה.
ActiveWindow.SelectedSheets.PrintPreview Selection.PrintOut Copies:=1
אם כי לא מצאתי גישה דרך מאקרו להצגת החלונית בנפרד.
בהצלחה. -
-
@מתמחה-במחשבים ראשית כל הכבוד על הפתרון וההתקדמות הכה מהירה!
אך שים לב לעצה קטנה שלי.
שאלת שאלה איך משלבים את:- PrintOut שהפרמטר היחיד שהוא מקבל זה מה להדפיס
- הShow Dialog שנותנת למשתמש להגדיר המון פרמטרים (חוץ מטווח מותאם אישית)
לי לא היה לזה תשובה, וגם לך לא.
רק שלא סיפרת שהצורך שלך הוא סך הכל לבחור את המדפסת. ואתה מוכן לוותר, לפחות בינתיים על שלל הפרמטרים שתיבת הדו שיח נותנת (כמו הדפסה דו צידית וכו' וכו').
ככל שתשאל ברור יותר ותספר מה אתה צריך, תחסוך זמן.
בהצלחה! -
@מתמחה-במחשבים ראשית כל הכבוד על הפתרון וההתקדמות הכה מהירה!
אך שים לב לעצה קטנה שלי.
שאלת שאלה איך משלבים את:- PrintOut שהפרמטר היחיד שהוא מקבל זה מה להדפיס
- הShow Dialog שנותנת למשתמש להגדיר המון פרמטרים (חוץ מטווח מותאם אישית)
לי לא היה לזה תשובה, וגם לך לא.
רק שלא סיפרת שהצורך שלך הוא סך הכל לבחור את המדפסת. ואתה מוכן לוותר, לפחות בינתיים על שלל הפרמטרים שתיבת הדו שיח נותנת (כמו הדפסה דו צידית וכו' וכו').
ככל שתשאל ברור יותר ותספר מה אתה צריך, תחסוך זמן.
בהצלחה!@dovid אמר בעזרה בקוד קצר להדפסה בVBA באקסל:
@מתמחה-במחשבים ראשית כל הכבוד על הפתרון וההתקדמות הכה מהירה!
אך שים לב לעצה קטנה שלי.
שאלת שאלה איך משלבים את:
רק שלא סיפרת שהצורך שלך הוא סך הכל לבחור את המדפסת. ואתה מוכן לוותר, לפחות בינתיים על שלל הפרמטרים שתיבת הדו שיח נותנת (כמו הדפסה דו צידית וכו' וכו').האם יש אפשרות כזאת?
ככל שתשאל ברור יותר ותספר מה אתה צריך, תחסוך זמן.
רשמתי
-
@dovid אמר בעזרה בקוד קצר להדפסה בVBA באקסל:
@מתמחה-במחשבים ראשית כל הכבוד על הפתרון וההתקדמות הכה מהירה!
אך שים לב לעצה קטנה שלי.
שאלת שאלה איך משלבים את:
רק שלא סיפרת שהצורך שלך הוא סך הכל לבחור את המדפסת. ואתה מוכן לוותר, לפחות בינתיים על שלל הפרמטרים שתיבת הדו שיח נותנת (כמו הדפסה דו צידית וכו' וכו').האם יש אפשרות כזאת?
ככל שתשאל ברור יותר ותספר מה אתה צריך, תחסוך זמן.
רשמתי
-
@מתמחה-במחשבים הפתרון שלך למשל...
אם אתה מחפש בגוגל EXCEL VBA set printer printout, אתה מקבל בתוצאה ראשונה אפשרות השמה ידנית של שם המדפסת.
בחיפוש EXCEL VBA choose printer printout אתה מקבל בתוצאה הראשונה את מה שעשית. -
-
אתה שאלת פה וגם חיפשת בגוגל שילוב בין תיבת הדו שיח הדפסה (על שלל ההגדרות) לprintout, בעוד היית צריך דרך לבחירת מדפסת יחד עם printout.
@dovid
אמת
העדפתי תיבת דו שיח (שמאפשר לבחור כמויות)
אבל כפי שציינת וויתרתי על כך -
@מתמחה-במחשבים ראשית כל הכבוד על הפתרון וההתקדמות הכה מהירה!
אך שים לב לעצה קטנה שלי.
שאלת שאלה איך משלבים את:- PrintOut שהפרמטר היחיד שהוא מקבל זה מה להדפיס
- הShow Dialog שנותנת למשתמש להגדיר המון פרמטרים (חוץ מטווח מותאם אישית)
לי לא היה לזה תשובה, וגם לך לא.
רק שלא סיפרת שהצורך שלך הוא סך הכל לבחור את המדפסת. ואתה מוכן לוותר, לפחות בינתיים על שלל הפרמטרים שתיבת הדו שיח נותנת (כמו הדפסה דו צידית וכו' וכו').
ככל שתשאל ברור יותר ותספר מה אתה צריך, תחסוך זמן.
בהצלחה!