नीचे दिया गया कोड कई कार्यपुस्तिकाओं में कार्यपत्रक मुद्रित करने का प्रयास करता है।
Dim wb1, wb2, wb3 as workbook
set wb1 = workbooks.open(......)
set wb2 = workbooks.open(......)
set wb3 = workbooks.open(......)
Sheets(Array(wb1.Sheets(...),wb2.Sheets(...),wb3.Sheets(...))).PrintOut
अंतिम पंक्ति पर मेरे रनों में टाइपमैस्मैच त्रुटि है। मैं बेमेल क्या हूं?
उत्तर:
जवाब के लिए 0 № 1जैसा कि कार्यालय में लिखा गया है VBA संदर्भ, द Sheets
-Object को संदर्भित करता है
निर्दिष्ट या सक्रिय कार्यपुस्तिका में सभी शीट्स का एक संग्रह।
इसलिए एक ही कार्य में अलग-अलग वर्कबुक से शीट प्रिंट करना संभव नहीं होगा। इसके अलावा, वाक्यविन्यास ist Sheets(Index)
इसलिए इसलिए index
या name
पत्रक पारित करना होगा।
Sub testPrint()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim s(1) As Worksheet
Dim mySheet As Variant
"
" collect sheets from different workbooks
"
Set wb1 = Workbooks("wm1.xlsm")
Set wb2 = Workbooks("wm2.xlsm")
Set s(0) = wb1.Sheets(1)
Set s(1) = wb2.Sheets(1)
"
" print or print preview sheets after each other
"
For Each mySheet In s
mySheet.PrintPreview
Next
End Sub
यदि आप एक ही कार्य में एक कार्यपुस्तिका से कई पत्रक मुद्रित करना चाहते हैं, तो आप कर सकते हैं select
उन्हें और फिर सभी चयनित लोगों को प्रिंट करें।