हमारे पास कई वर्षों तक हमारे अनुप्रयोगों में कोड की कुछ पंक्तियां खुशी से चल रही हैं (और कार्यालय, 2003, 2007, 2010 आदि के कई संस्करणों में)। उद्देश्य एक वर्ड दस्तावेज़ में एक मेल मर्ज का एक प्रकार प्रदर्शन करने के लिए, एक डेटाबेस से नाम, पते आदि के साथ क्षेत्र प्लेसहोल्डर प्रतिस्थापन है:"आपको इस चयन को संपादित करने की अनुमति नहीं है क्योंकि यह संरक्षित है।" लेकिन केवल कार्यालय 2013 के बाद से?
Dim w As Word.Application
Dim d As Microsoft.Office.Interop.Word.Document = Nothing
...
Dim f As Microsoft.Office.Interop.Word.Field
For Each f In d.Fields
f.Select()
If fieldName = w.Selection.Text Then
f.Result.Text = value
End If
Next
हालांकि एक उपयोगकर्ता चल रहा कार्यालय 2013 रिपोर्ट लाइन पर इस त्रुटि f.Result.Text = value
:
System.Runtime.InteropServices.COMException (0x800A17EC): आप, क्योंकि यह है इस चयन को संपादित करने की अनुमति नहीं कर रहे हैं संरक्षित।
तो, यह तब होता है जब उपयोगकर्ता Office 2013 चला रहा है और इस त्रुटि के लिए बहुत कम ऑनलाइन सहायता है।
दस्तावेज़ का कोई भी भाग सुरक्षित नहीं है, और उपयोगकर्ता बिना किसी समस्या के सीधे दस्तावेज़ में दस्तावेज़ को संपादित कर सकता है।
पर सहेजते हैं तो मुझे वास्तव में गड़बड़ हो सकती है, मुझे एक ही समस्या थी और आपके उत्तर ने मुझे सही दिशा में इंगित किया। मैं 'ReadingLayout' का उपयोग नहीं कर सका, हालांकि मुझे लगता है कि इसे बाद के संस्करण में पेश किया गया था, इसलिए मैंने इसके बजाय 'w.ActiveWindow.View.Type = wdPageView' का उपयोग किया। – Alex
समाधान के लिए धन्यवाद, बिल्कुल मुझे क्या चाहिए। –