के साथ संवाद के रूप में सहेजें मेरे पास एक वीबीए मैक्रो है जो वर्तमान दस्तावेज़ में कुछ बदलाव करता है और इसके लिए फ़ाइल नाम निर्धारित करता है - यदि दस्तावेज़ उस फ़ाइल नाम के रूप में सहेजा नहीं गया है, तो उपयोगकर्ता को अभी भी उपयोगकर्ता को चाहिए ऐसा करने के लिए कहा जाए (लेकिन डिफ़ॉल्ट सेटिंग को बदलने में सक्षम होना चाहिए)।वीबीए वर्ड - प्रारंभिक फ़ाइल नाम
मुझे दो संभावनाएं मिलीं जो दोनों सही नहीं हैं (मुझे उन दोनों के मिश्रण की आवश्यकता होगी)।
पहले दृष्टिकोण:
Application.Dialogs(wdDialogFileSaveAs).Show
Save As
संवाद खोलता है और आप प्रारूप और फ़ाइल का नाम बदलने की सुविधा देता है, लेकिन डिफ़ॉल्ट फ़ाइल नाम पुराने फ़ाइल नाम या शीर्षक (जैसे पहले विशेष वर्ण पर निर्भर है दस्तावेज़ के रिक्त या -
) (यदि यह अभी तक सहेजा नहीं गया था - दस्तावेज़ का शीर्षक बदलना थोड़ा सा मदद है क्योंकि सुझाए गए फ़ाइल नाम में -
होगा)। क्या Save As
संवाद में दिखाए गए प्रारंभिक फ़ाइल नाम को बदलना संभव है?
दूसरा दृष्टिकोण:
Application.FileDialog(msoFileDialogSaveAs).InitialFileName = filename
Dim choice As Integer
choice = Application.FileDialog(msoFileDialogSaveAs).Show
If choice <> 0 Then
filename = Application.FileDialog(msoFileDialogSaveAs).SelectedItems(1)
Call ActiveDocument.SaveAs(filename:=filename, FileFormat:=wdFormatDocumentDefault)
End If
FileDialog
एक फ़ाइल नाम ही चयन करेंगे, तो हम यह स्पष्ट रूप को बचाने के लिए है। यह दृष्टिकोण filename
दिखाएगा, लेकिन यदि उपयोगकर्ता प्रत्यय को .pdf
में बदलता है तो फ़ाइल अभी भी .docx
प्रारूप में सहेजी जाएगी (प्रत्यय .pdf का उपयोग करके)। दुर्लभ मामले के लिए उपयोगकर्ता को .docx
से भिन्न प्रारूप की आवश्यकता के लिए यहां मामलों का विशाल भेद करने की योजना नहीं थी। इस दूसरे दृष्टिकोण का उपयोग कर फ़ाइल को सही प्रारूप में सहेजने का कोई आसान तरीका है?
साथ कॉल ActiveDocument.SaveAs लाइन की जगह आप लानत सही हो की कोशिश की है, धन्यवाद – outofmind