excel vba: कई एक्सेल शीट को अपनी निर्दिष्ट jpg फ़ाइल में निर्यात करने के लिए


2

मैं एक एक्सेल vba कमांड पर काम कर रहा हूँ ताकि वह अपने निर्धारित jpg फाइल में कई एक्सेल शीट एक्सपोर्ट कर सके।

मेरे पास एक एक्सेल वर्कबुक में 16 वर्कशीट है और प्रत्येक शीट को jpg प्रारूप में निर्यात करना सबसे अच्छा होगा।

मेरे पास नीचे दिए गए कोड काम कर रहे हैं, सभी कार्यपत्रकों के माध्यम से जाने और 16 jpg फाइलें बनाने के लिए। हालाँकि ऐसा लगता है कि एक्सेल केवल उस वर्कशीट पर कब्जा कर रहा है जो सक्रिय है। कहो, अगर "शीट 1" सक्रिय है, तो पूरी 16 जेपीजी फाइलें "शीट 1" के अंदर जो कुछ भी है उसे दिखाएगा और "शीट 2" या "शीट 3" आदि पर जो कुछ भी है उसे नहीं दिखाएगा।

Sub exportpic()

Dim WS As Worksheet, Inpt As Worksheet
Dim rgExp As Range
Dim CH As ChartObject

Set Inpt = Sheets("Input")
Set rgExp = Range("B5:M60")

    For Each WS In ThisWorkbook.Sheets
        If Not WS.Name = "Input" Then
            rgExp.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
            Set CH = WS.ChartObjects.Add(Left:=rgExp.Left, Top:=rgExp.Top, Width:=rgExp.Width, Height:=rgExp.Height)
            CH.Chart.ChartArea.Select
            CH.Chart.Paste
            CH.Chart.Export "C:\Users\User1\Desktop\Umbilical\" & WS.Name & ".jpg"
            CH.Delete

        End If
    Next WS

End Sub

क्या कोई मेरी मदद कर सकता है कि उसकी निर्धारित jpg फ़ाइल में प्रत्येक शीट को कैप्चर / एक्सपोर्ट करने का सही तरीका क्या है? सचमुच उपरोक्त पर अपनी तरह की सहायता की सराहना करते हैं।

अग्रिम में ही बहुत शुक्रिया।


व्हाट अबाउट Worksheets(WS.Name).Activate? और शायद Application.ScreenUpdating = False
week

नमस्ते! आपके प्रतिक्रिया के लिए धन्येवाद। मैंने पहले ही इसका हल ढूंढ लिया है, जो rgExp.CopyPicture को WS.Range ("B5: M60") में बदल रहा है।
zenisler

आपको नीचे अपने स्वयं के प्रश्न का उत्तर देना चाहिए और इसे ऐसे चिन्हित करना चाहिए जिससे साइट पर खोज करने वाले अन्य लोग देख सकें कि इस प्रश्न का उत्तर है।
CharlieRB

जवाबों:


0

बस इसलिए यह प्रश्न प्रकट नहीं होता है अनुत्तरित - कोई जवाब नहीं मुद्दा था परिभाषा की rgExp शामिल नहीं WS

बदलने के बजाय:

rgExp.CopyPicture सेवा मेरे WS.Range("B5:M60").CopyPicture और rgExp वैरिएबल का उपयोग नहीं करना।

आप बदलेंगे:

set rgExp = Range("B5:M60") सेवा मेरे set rgExp = WS.Range("B5:M60")

यह उस स्थिति में है जब आपको उपयोग करने की आवश्यकता है rgExp कहीं और।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.