-
אשמח אם יוכלו לעזור לי
יש לי שני קודי מאקרו קצרים שאני לא מצליח לשלב ביניהםמאקרו להדפסת טווח מותאם אישית (למדפסת ברירת מחדל)
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 ותקבל את הערכים שאתה רוצה. -
ברשימת הפקודות הכוללת שיש באקסל (קובץ>אפשרויות>התאמה אישית של רצועת הכלים) ותבחר שם בלשונית 'כל הפקודות'
תכניס את האפשרות לאחת הלשוניות.
כשתלחץ עליה, תמצא את האפשרות של חלונית ההדפסה שחיפשת.כשעשיתי מאקרו עליהם יחד, הגעתי לקוד הזה.
ActiveWindow.SelectedSheets.PrintPreview Selection.PrintOut Copies:=1
אם כי לא מצאתי גישה דרך מאקרו להצגת החלונית בנפרד.
בהצלחה. -
-
@מתמחה-במחשבים ראשית כל הכבוד על הפתרון וההתקדמות הכה מהירה!
אך שים לב לעצה קטנה שלי.
שאלת שאלה איך משלבים את:- PrintOut שהפרמטר היחיד שהוא מקבל זה מה להדפיס
- הShow Dialog שנותנת למשתמש להגדיר המון פרמטרים (חוץ מטווח מותאם אישית)
לי לא היה לזה תשובה, וגם לך לא.
רק שלא סיפרת שהצורך שלך הוא סך הכל לבחור את המדפסת. ואתה מוכן לוותר, לפחות בינתיים על שלל הפרמטרים שתיבת הדו שיח נותנת (כמו הדפסה דו צידית וכו' וכו').
ככל שתשאל ברור יותר ותספר מה אתה צריך, תחסוך זמן.
בהצלחה! -
@dovid אמר בעזרה בקוד קצר להדפסה בVBA באקסל:
@מתמחה-במחשבים ראשית כל הכבוד על הפתרון וההתקדמות הכה מהירה!
אך שים לב לעצה קטנה שלי.
שאלת שאלה איך משלבים את:
רק שלא סיפרת שהצורך שלך הוא סך הכל לבחור את המדפסת. ואתה מוכן לוותר, לפחות בינתיים על שלל הפרמטרים שתיבת הדו שיח נותנת (כמו הדפסה דו צידית וכו' וכו').האם יש אפשרות כזאת?
ככל שתשאל ברור יותר ותספר מה אתה צריך, תחסוך זמן.
רשמתי
-