मैं एक्सेल के भीतर HTML फ़ाइल के विशिष्ट अनुभागों के लिए हाइपरलिंक कैसे बना सकता हूं?


8

मेरे पास एक HTML फ़ाइल है जिसमें इसके भीतर एंकर शामिल हैं। यदि मैं एंकर का नाम निर्दिष्ट करता हूं, तो मैं एक ब्राउज़र के माध्यम से एक विशिष्ट अनुभाग प्राप्त करने में सक्षम हूं, इसलिए जब मैं
file://<html_path>/<html_file>.html#<anchor_name>
अपने ब्राउज़र के पता बॉक्स में लिखता हूं, तो फ़ाइल खुलती है और सही अनुभाग तक स्क्रॉल करती है।

यदि मैं उसी लिंक को HYPERLINKएक्सेल में किसी फ़ंक्शन में #रखता हूं , तो लिंक केवल वेब पेज को खोलता है, भाग को ट्रिम करता है, और निर्दिष्ट अनुभाग पर स्क्रॉल नहीं करता है। यदि मैं HYPERLINKफ़ंक्शन में एक एंकर भाग के साथ एक वेब पेज के लिए एक लिंक रखता हूं , तो यह सही ढंग से काम करता है, इसलिए http://लिंक के साथ #छंटनी नहीं की जाएगी और अभी भी काम करेगा।

Google खोजना इस फ़ोरम पोस्ट और कई KB लेखों को लौटाता है, जो बताता है कि हैश का उपयोग कार्यालय के भीतर फ़ाइल नाम में नहीं किया जा सकता है, हालांकि यह एक मान्य फ़ाइल नाम वर्ण है। एक ही पृष्ठ बताता है कि यह एक्सेल 2010 में हल किया गया था, लेकिन मैं 2010 संस्करण का उपयोग कर रहा हूं और यह अभी भी एक मुद्दा है।

क्या इसमें वर्कअराउंड है? मैं लक्ष्य फ़ाइल में हर पंक्ति को एक अलग खंड से जोड़ने का इरादा रखता हूं, और 1000+ पंक्तियाँ हैं, इसलिए मूल HTML फ़ाइल को एकाधिक में तोड़ने या प्रत्येक अनुभाग के लिए अलग URL बनाने और इसके बजाय लिंक करने का विकल्प अव्यवस्था पैदा करेगा फ़ाइलें।


मैं इसका जवाब नहीं दे सकता क्योंकि मैं अभी परीक्षण नहीं कर सकता, लेकिन क्या आपने '#' के बजाय '% 23' का उपयोग करके एन्कोडिंग का परीक्षण किया है
HTDutchy

मैंने अभी इसकी जाँच की है, यह काम नहीं करता है। एक्सेल एक त्रुटि संदेश "निर्दिष्ट फ़ाइल को नहीं खोल सकता है"
जॉनोबॉय

@terdon 'पाउंड साइन / की' #अक्षर का एक वैध नाम है , विकीपीडिया लेख देखें , फ़ोरम पोस्ट को भी नोटिस करें और इससे जुड़े KB लेख उसी नाम का उपयोग करें
JohnoBoy

@ जॉनोय, तो यह है। मैं सही है, क्षमा करें। बेझिझक अपना रोल वापस करें।
टेराडो

जवाबों:


2

इसे इस्तेमाल करे। प्रत्येक पंक्ति के लिए, आपको दो कॉलम की आवश्यकता होगी। पहले में प्रत्येक पंक्ति के लिए आपके बुकमार्क का नाम होगा। दूसरे में हाइपरलिंक होगा, जो खुद को इंगित करता है।

कई पंक्तियों के लिए स्व-संदर्भित हाइपरलिंक सम्मिलित करने के लिए, इस तरह एक मैक्रो चलाएँ:

Sub AddHyperlinksPointingToOwnCell()

   For i = 1 To 100

   Range("A" & i).Select
   ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
       "Sheet1!A" & i, TextToDisplay:="Click Here!"

   ActiveCell.Offset(1, 0).Select

   Next i

End Sub

अब आपको ब्राउज़र को सही स्थान पर खोलने के लिए एक उप की आवश्यकता है। इसे संपादित करें ताकि फ़ाइल और ब्राउज़र पथ सही हों:

Sub GoToBookmark()

    Dim ThisRow As Integer
    Dim ThisCol As Integer
    Dim BookmarkName As String

    ThisRow = ActiveCell.Row
    ThisCol = ActiveCell.Column
    BookmarkName = Cells(ThisRow, ThisCol - 1).Value
        'This is looking in the cell to the left for the bookmark name

    If BookmarkName = "" Then
        Exit Sub
    End If

    Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE " & _
        "C:\PathRoot\Folder\filename.html#" & BookmarkName & ", vbNormalFocus"

End Sub

अंत में आपको अपनी सूची वाली शीट के लिए Worksheet_FollowHyperlink ईवेंट जोड़ना होगा:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    Run ("GoToBookmark")
End Sub

उम्मीद है कि यह करना चाहिए!


मैं इस पर गौर करूंगा और वापस रिपोर्ट
करूंगा

@ जोहानबॉय - क्या यह काम आपके लिए था?
जॉनी उतह

यह बहुत पहले था, मेरा मानना ​​है कि मैंने पूरी तरह से हाइपरलिंक पर छोड़ दिया।
जॉनबोय

0

यहां आपके लिए एक और उपाय है, यदि आप VBA कोडिंग का उपयोग नहीं करना चाहते हैं तो आप एक्सेल फ़ंक्शन "हाइपरलिंक" का उपयोग कर सकते हैं। यहाँ यह करने के लिए एक कदम दर कदम गाइड है।

ऑनलाइन फ़ाइल: चरण 1: चलो का कहना है कि अपनी फ़ाइल नाम है: http://en.wikipedia.org/wiki/Intel_Core चरण 2: अब A1 में अपने लंगर नाम जोड़ने: ए 4
Core_Duo
Core_Solo
Core_2_Duo
Core_i7
चरण 3: सेल बी 2 इस प्रवेश में :

=HYPERLINK("http://en.wikipedia.org/wiki/Core_i3#"&A2,"A2")  

चरण 4: बाकी की
जांच की गई कोशिकाओं के काम करने के लिए आवेदन करने के लिए क्लिक करें और खींचें !!!


1
दुर्भाग्य से कमलम, मूल पोस्टर सी: ड्राइव पर स्थानीय रूप से होस्ट की गई फ़ाइलों के लिए ऐसा करना चाह रहा था। यदि आप इसे दोबारा आजमाते हैं तो file://C:/यह काम नहीं करता है। यह शर्म की बात है क्योंकि अगर यह काम करेगा तो यह बहुत आसान होगा!
एंडी मोहर

इसके अलावा, यह वेब पर भी काम नहीं करता है
Gerrat

-1

अगर मैं आपके प्रश्न को अच्छी तरह से समझता हूँ तो यहाँ एक काम है Arround Source = Here WORKAROUND इस समस्या को हल करने के लिए, निम्न विधियों में से किसी एक का उपयोग करें। विधि 1

उस फ़ाइल का नाम बदलें जिसमें पाउंड साइन शामिल नहीं है, और फिर हाइपरलिंक को संपादित या फिर से बनाएँ।

Windows में फ़ाइल का नाम बदलने के बारे में अधिक जानकारी के लिए, अपने Windows मुद्रित दस्तावेज़ या ऑनलाइन सहायता देखें।

हाइपरलिंक को संपादित करने के लिए, इन चरणों का पालन करें:

Office 2003 और Office के पुराने संस्करणों के लिए: हाइपरलिंक समस्या वाले सेल पर राइट-क्लिक करें। दिखाई देने वाले शॉर्टकट मेनू पर, हाइपरलिंक को इंगित करें और हाइपरलिंक संपादित करें पर क्लिक करें। फ़ाइल या वेब पेज नाम बॉक्स टाइप करें, उस फ़ाइल का नाम टाइप करें जिसे आप लिंक कर रहे हैं। यदि आपको फ़ाइल का नाम नहीं पता है, तो फ़ाइल पर क्लिक करें और फ़ाइल पर ब्राउज़ करें। ओके पर क्लिक करें।

Office 2007 और Office 2010 कार्यक्रमों के लिए: समस्या हाइपरलिंक वाली सेल पर राइट-क्लिक करें, और उसके बाद हाइपरलिंक को संपादित करने के लिए इंगित करें। पता बॉक्स में, उस फ़ाइल का नाम टाइप करें जिसे आप लिंक कर रहे हैं। यदि आप फ़ाइल का नाम नहीं जानते हैं, तो फ़ाइल का पता लगाने के लिए लुक इन ... लाइन पर खोज टूल का उपयोग करें। फ़ाइल का चयन करें, और उसके बाद ठीक क्लिक करें। विधि 2

हाइपरलिंक कमांड के रूप में पेस्ट का उपयोग करें:

Office 2003 और पिछले संस्करणों के लिए: उस दस्तावेज़ को खोलें जिसे आप लिंक करने का प्रयास कर रहे हैं (जिसमें नाम में # चिह्न है)। उस सेल को कॉपी करें जिसे आप लिंक करना चाहते हैं। अपने दस्तावेज़ में, संपादन मेनू पर, हाइपरलिंक के रूप में चिपकाएँ पर क्लिक करें।

Office 2007 और Office 2010 कार्यक्रमों के लिए: उस दस्तावेज़ को खोलें जिसे आप लिंक करने का प्रयास कर रहे हैं। यह वह दस्तावेज है जिसमें नाम में # चिह्न है। उस सेल को कॉपी करें जिसे आप लिंक करना चाहते हैं। अपने दस्तावेज़ में, उस सेल पर क्लिक करें जिसमें आप हाइपरलिंक दिखाना चाहते हैं। मुख पृष्ठ टैब पर, क्लिपबोर्ड समूह में चिपकाएँ के नीचे तीर पर क्लिक करें और फिर हाइपरलिंक के रूप में चिपकाएँ पर क्लिक करें

यदि आप VBA कोड का उपयोग कर रहे हैं, तो यह लाइन मेरी मदद कर सकती है, मैंने इसे परीक्षण किया है। यह क्रोम और फ़ायरफ़ॉक्स दोनों में ActiveSheet.Hyperlinks के लिए काम कर रहा है।
Anchor: = Selection, Address: = "C: \ path \ to your your file.htm" , SubAddress: = "nameOfYourAnchor", TextToDisplay: = "टेक्स्ट प्रदर्शित करने के लिए))

यहाँ nameOfYourAnchor w / o # सिम उदाहरण के लिए यदि आपका लिंक C: / उपयोगकर्ता / [प्रयोक्ता] / डेस्कटॉप / इंटेल कोर - विकिपीडिया, मुक्त विश्वकोश .htm # Core_i3 है तो आपका कोड होगा ( ActiveSheet.Hyperlinks.Add Anchor: = चयन, पता: = "C: / उपयोगकर्ता / उपयोगकर्ता / डेस्कटॉप / इंटेल कोर - विकिपीडिया, मुक्त विश्वकोश।", "SubAddress: =" Core_i3 ", TextToDisplay: =" प्रदर्शित करने के लिए पाठ " )
आशा है कि यह मदद की।


समस्या यह है, फ़ाइल में इसके नाम में पाउंड साइन शामिल नहीं है। मैं फ़ाइल में एक विशिष्ट खंड से लिंक करने के लिए पाउंड साइन का उपयोग करता हूं
जॉनबोय

2
पिछले दो पैराग्राफ पर एक नज़र है।
kamalam

@kamalam, सतह पर यह एक बहुत साफ समाधान है। हालाँकि मुझे यह कोड काम करने के लिए नहीं मिल रहा है? क्या आप कृपया पूर्ण उप पोस्ट कर सकते हैं जो आपके लिए काम करता है?
एंडी मोहर

-1

निम्नलिखित आम तौर पर एक्सेल 2007 के साथ विंडोज 7 पर काम करता है। फ़ाइल को स्प्रेडशीट के साथ मिलाया जाता है। सेल सामग्री:

= HYPERLINK ("डंप_फॉल्ट्स_क्रंट_लेग_बीट.एचटीएम # बिटराइट_000", "बीइटी रिकॉर्ड 1/35")

यहां कुछ डेस्कटॉप पीसी हैं जो इस लिंक से परेशान हैं, हालांकि, "निर्दिष्ट फ़ाइल को खोल नहीं सकता" त्रुटि।

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