मेरे पास एक स्प्रेडशीट है कि एक बटन पर क्लिक करने से सबकुछ एक नई कार्यपुस्तिका में कॉपी/पेस्ट करके डुप्लिकेट हो जाएगा और फ़ाइल को ऐसे नाम से सहेज लें जो कुछ परिवर्तनीय मानों पर निर्भर है (कोशिकाओं से लिया गया है स्प्रेडशीट)। मेरा वर्तमान लक्ष्य क्लाइंट नाम (चर में सेल मूल्य) के नाम के आधार पर शीट को अलग-अलग फ़ोल्डरों में सहेजने के लिए प्राप्त करना है, जबकि यह पहले रन पर काम करता है, मुझे बाद में त्रुटि मिलती है।एक्सेल वीबीए जांचें कि निर्देशिका मौजूद है या नहीं
कोड जांचता है यदि निर्देशिका मौजूद है और नहीं तो इसे बनाता है। यह काम करता है, लेकिन उसके बाद यह बनाई गई है, यह एक दूसरी बार चल त्रुटि फेंकता है:
Runtime Error 75 - path/file access error.
मेरे कोड:
Sub Pastefile()
Dim client As String
Dim site As String
Dim screeningdate As Date
screeningdate = Range("b7").Value
Dim screeningdate_text As String
screeningdate_text = Format$(screeningdate, "yyyy\-mm\-dd")
client = Range("B3").Value
site = Range("B23").Value
Dim SrceFile
Dim DestFile
If Dir("C:\2013 Recieved Schedules" & "\" & client) = Empty Then
MkDir "C:\2013 Recieved Schedules" & "\" & client
End If
SrceFile = "C:\2013 Recieved Schedules\schedule template.xlsx"
DestFile = "C:\2013 Recieved Schedules\" & client & "\" & client & " " & site & " " & screeningdate_text & ".xlsx"
FileCopy SrceFile, DestFile
Range("A1:I37").Select
Selection.Copy
Workbooks.Open Filename:= _
"C:\2013 Recieved Schedules\" & client & "\" & client & " " & site & " " & screeningdate_text & ".xlsx", UpdateLinks:= _
0
Range("A1:I37").PasteSpecial Paste:=xlPasteValues
Range("C6").Select
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
आप इस क्षेत्र में ज्ञान की मेरी कमी का बहाना करना होगा, मैं अभी भी सीख रहा हूँ। मुझे बहुत मजबूत लग रहा है कि इसमें निर्देशिका जांच तर्क के साथ कुछ करना है, जब त्रुटि MkDir
पंक्ति को हाइलाइट किया गया है।
रिक्त स्थान के बजाय शून्य-लंबाई स्ट्रिंग (यानी, "") की जांच करने का प्रयास करें, "अगली त्रुटि फिर से शुरू करें" पसंद नहीं है। – chuff
यदि कोई भी नहीं मिला है तो Dir शून्य लंबाई स्ट्रिंग देता है। इसलिए रिक्त उपयोग का उपयोग न करें –
हाय दोस्तों, सलाह के लिए धन्यवाद, मैंने इसे बदल दिया है, "मुझे कभी नहीं पता था कि यह शून्य लंबाई तारों के लिए चेक किया गया है। जबकि मैं इसे भविष्य के सर्वोत्तम अभ्यास के लिए उपयोग करूंगा, इसने इस मुद्दे को हल नहीं किया है। कोई और सुझाव? – user1571463