समान कर्सर ऊर्ध्वाधर स्थिति के साथ पिछले कर्सर स्थान पर वर्ड दस्तावेज़ को फिर से खोलें


1

मैं अपने मूल ऊर्ध्वाधर स्थिति के समान लंबवत रूप से पृष्ठ के साथ संपादित करने के अपने पिछले बिंदु पर लौटना चाहूंगा। Shift + F5 तकनीक मुझे पिछले बिंदु पर संपादित करने के लिए लौटाती है, लेकिन जिस पृष्ठ पर मैं लौटता हूं वह लंबवत रूप से स्क्रीन पर कुछ बेतरतीब ढंग से तैनात होता है। दूसरे शब्दों में, यदि मेरा कर्सर दस्तावेज़ व्यूपोर्ट के शीर्ष से 300 ऊर्ध्वाधर पिक्सेल है, तो मैं अपने पृष्ठ को फिर से खोलना चाहूंगा ताकि मेरे व्यूपोर्ट के शीर्ष से कर्सर का स्थान अभी भी 300 ऊर्ध्वाधर पिक्सेल हो।

मेरे पाठ कर्सर की ऊर्ध्वाधर स्थिति (स्क्रीन पर) निर्धारित करने के लिए निम्नलिखित का उपयोग किया जा सकता है:

ActiveWindow.GetPoint pLeft, pTop, pWidth, pHeight, Selection.Range

तो चुनौती यह हो जाती है कि कैसे अपने दस्तावेज़ को इस तरह स्क्रॉल किया जाए कि मैं अपने टेक्स्ट कर्सर को उसकी मूल ऊर्ध्वाधर स्थिति (pHeight) में वापस कर सकूं?

कोई संबंधित ActiveWindow.SetPoint और ActiveWindow.ScrollIntoView दृश्य में चयन श्रेणी को स्क्रॉल नहीं करता है, लेकिन स्क्रीन पर चयन श्रेणी की ऊर्ध्वाधर स्थिति पर कोई नियंत्रण प्रदान नहीं करता है।


सभी दस्तावेजों या एक विशिष्ट के लिए?
जेरेमी डब्ल्यू

एक विशिष्ट दस्तावेज के लिए
मैल्कम

शायद मेरे मूल प्रश्न को शब्द करने का एक बेहतर तरीका: मैं पृष्ठ के साथ अपने पिछले बिंदु पर वापस लौटना चाहूंगा, जो पृष्ठ को लंबवत रूप से अपनी लंबवत स्थिति के समान स्थित करता है। Shift + F5 मुझे संपादन के पिछले बिंदु पर लौटाता है, लेकिन जिस पृष्ठ पर मैं लौटता हूं वह लंबवत रूप से स्क्रीन पर कुछ यादृच्छिक तरीके से तैनात होता है। दूसरे शब्दों में, यदि मेरा कर्सर दस्तावेज़ व्यूपोर्ट के शीर्ष से 300 ऊर्ध्वाधर पिक्सेल है, तो मैं अपने पृष्ठ को फिर से खोलना चाहूंगा ताकि मेरे व्यूपोर्ट के शीर्ष से कर्सर का स्थान अभी भी 300 ऊर्ध्वाधर पिक्सेल हो।
माल्कम

यह काफी स्पष्टता जोड़ता है। कृपया अपने प्रश्न को संपादित करें ताकि दूसरों को लाभ हो (और यह अधिक ध्यान देता है)।
जेरेमी डब्ल्यू

जवाबों:


1

आप इन दो मैक्रो के साथ इसे पूरा करने में सक्षम हो सकते हैं। एक वर्तमान दृश्य सेटिंग्स को स्टोर करने के लिए और दूसरा उन्हें पुनर्स्थापित करने के लिए। अधिक कोड सहायता यहाँ और यहाँ उपलब्ध है

संपादित करें : मैंने क्षैतिज और ऊर्ध्वाधर स्क्रॉल प्रतिशत को संग्रहीत करने के लिए कोड, और दृश्यमान के अलावा वर्तमान चयन बिंदु को अपडेट किया है। वर्तमान में मेरे पास इसका परीक्षण करने के लिए Word की एक प्रति नहीं है।

दृश्य संग्रहित करें

Sub StoreDocView()

   ' Declare variables
   Dim OriginalViewType As Long
   Dim OriginalHorizontalScrollPercent as Long
   Dim OriginalVerticalScrollPercent as Long
   Dim OriginalSelectionStart as Long
   Dim OriginalSelectionEnd as Long

   ' Capture the current settings
   OriginalViewType = ActiveWindow.ActivePane.View.Type
   OriginalHorizontalScrollPercent = ActiveWindow.ActivePane.HorizontalPercentScrolled
   OriginalVerticalScrollPercent = ActiveWindow.ActivePane.VerticalPercentScrolled
   OriginalSelectionStart = ActiveWindow.ActivePane.Selection.Start
   OriginalSelectionEnd = ActiveWindow.ActivePane.Selection.End


   ' Store the view information to a Document Variable
   ActiveDocument.Variables.Add Name:="DocViewType", Value:=OriginalViewType
   ActiveDocument.Variables.Add Name:="DocHorizontalScroll", Value:=OriginalHorizontalScrollPercent
   ActiveDocument.Variables.Add Name:="DocVerticalScroll", Value:=OriginalVerticalScrollPercent
   ActiveDocument.Variables.Add Name:="DocSelectionStart", Value:=OriginalSelectionStart
   ActiveDocument.Variables.Add Name:="DocSelectionEnd", Value:=OriginalSelectionEnd

End Sub

दृश्य पुनः प्राप्त करें

Sub GetDocView()

   ' Declare variables
   Dim OriginalViewType As Long
   Dim OriginalHorizontalScrollPercent as Long
   Dim OriginalVerticalScrollPercent as Long
   Dim OriginalSelectionStart as Long
   Dim OriginalSelectionEnd as Long

   ' Get document variables
   OriginalViewType = ActiveDocument.Variables("DocViewType").Value
   OriginalHorizontalScrollPercent = ActiveDocument.Variables("DocHorizontalScroll").Value
   OriginalVerticalScrollPercent = ActiveDocument.Variables("DocVerticalScroll").Value
   OriginalSelectionStart = ActiveDocument.Variables("DocSelectionStart").Value
   OriginalSelectionEnd = ActiveDocument.Variables("DocSelectionEnd").Value

   ' Restore settings
   ActiveWindow.ActivePane.View.Type = OriginalViewType
   ActiveWindow.ActivePane.HorizontalPercentScrolled = OriginalHorizontalScrollPercent
   ActiveWindow.ActivePane.VerticalPercentScrolled = OriginalVerticalScrollPercent
   ActiveWindow.ActivePane.Selection.Start = OriginalSelectionStart
   ActiveWindow.ActivePane.Selection.End = OriginalSelectionEnd


End Sub

जेरेमी: आपकी प्रतिक्रिया के लिए धन्यवाद। मैंने अधिक विस्तार के साथ मूल प्रश्न को अद्यतन किया। ऊपर दिया गया आपका कोड देखने के तरीके (कुछ ऐसा जिसके बारे में मैंने नहीं सोचा था) को संरक्षित करता है, लेकिन मैं एक पृष्ठ पर एक विशिष्ट स्थिति में लौटने के लिए एक रास्ता खोज रहा हूं, जिसके पृष्ठ पर मूल स्थान में लंबवत स्थिति है। दूसरे शब्दों में, यदि मेरा कर्सर टूलबार के नीचे से 300 पिक्सेल का था, तो मैं अपने पृष्ठ को लंबवत रूप से उसी स्थान पर रखना चाहूंगा, जब मैं अपने पिछले संपादन स्थान पर वापस आऊंगा।
मैल्कम

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