Wie kann ich einen Hyperlink zu den spezifischen Abschnitten einer HTML-Datei in Excel erstellen?

8

Ich habe eine HTML-Datei, die Anker enthält. Ich kann über einen Browser zu einem bestimmten Abschnitt gelangen, wenn ich den Ankernamen spezifiziere. Wenn ich also
file://<html_path>/<html_file>.html#<anchor_name>
in das Adressfeld meines Browsers schreibe , wird die Datei geöffnet und zum richtigen Abschnitt gescrollt.

Wenn ich denselben Link in eine HYPERLINKFunktion in Excel einfüge, öffnet der Link nur die Webseite, schneidet das #Teil ab und scrollt nicht zum angegebenen Abschnitt. Wenn ich einen Link zu einer Webseite mit einem Ankerteil in der HYPERLINKFunktion platziere, scheint dies korrekt zu funktionieren, sodass http://Links mit #nicht gekürzt werden und weiterhin funktionieren.

Durch die Suche in Google werden dieser Forumsbeitrag und mehrere KB-Artikel zurückgegeben, in denen angegeben ist, dass der Hash nicht in einem Dateinamen innerhalb von Office verwendet werden kann, obwohl es sich um ein gültiges Dateinamenzeichen handelt. Dieselbe Seite gibt an, dass dies in Excel 2010 behoben wurde, aber ich verwende die Version 2010 und es ist anscheinend immer noch ein Problem.

Gibt es eine Problemumgehung? Ich beabsichtige, jede Zeile mit einem anderen Abschnitt in der Zieldatei zu verknüpfen, und es gibt mehr als 1000 Zeilen. Die Option, die ursprüngliche HTML-Datei in mehrere Abschnitte zu unterteilen oder separate URLs für jeden Abschnitt zu generieren und stattdessen mit dem zu verknüpfen, würde eine Unordnung von erzeugen Dateien.

JohnoBoy
quelle
Ich kann dies nicht beantworten, da ich es
momentan
Ich habe das gerade überprüft, es scheint nicht zu funktionieren. Excel zeigt eine Fehlermeldung "Die angegebene Datei kann nicht geöffnet werden"
JohnoBoy
@terdon 'Pfundzeichen / Schlüssel' ist ein gültiger Name für den #Charakter, siehe den WikiPedia-Artikel , beachten Sie auch den Forumsbeitrag und die damit verknüpften KB-Artikel verwenden denselben Namen
JohnoBoy
@ JohnoBoy, so ist es. Ich stehe korrigiert, sorry. Fühlen Sie sich frei, meine Bearbeitung zurückzusetzen.
Terdon

Antworten:

2

Versuche dies. Für jede Zeile benötigen Sie zwei Spalten. Die erste enthält den Namen Ihres Lesezeichens für jede Zeile. Der zweite enthält einen Hyperlink, der auf sich selbst verweist.

Führen Sie ein Makro wie folgt aus, um selbstreferenzierende Hyperlinks für viele Zeilen einzufügen:

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

Jetzt benötigen Sie ein Sub, um den Browser an der richtigen Stelle zu öffnen. Bearbeiten Sie dies so, dass die Datei- und Browserpfade korrekt sind:

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

Schließlich müssen Sie ein Worksheet_FollowHyperlink-Ereignis für das Blatt hinzufügen, das Ihre Liste enthält:

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

Hoffentlich sollte es das tun!

Andi Mohr
quelle
Ich werde dies untersuchen und
zurückmelden
@ JohnoBoy - hat das für dich funktioniert?
Johnny Utahh
Ich glaube, ich habe die Hyperlinks vor langer Zeit ganz aufgegeben.
JohnoBoy
0

Hier ist eine weitere Lösung für Sie: Wenn Sie keine VBA-Codierung verwenden möchten, können Sie weiterhin die Excel-Funktion "Hyperlink" verwenden. Hier finden Sie eine Schritt-für-Schritt-Anleitung.

Online-Datei: Schritt 1: Angenommen, Ihr Dateiname lautet: http://en.wikipedia.org/wiki/Intel_Core Schritt 2:
Fügen Sie
jetzt
Ihre
Ankernamen in A1: A4 Core_Duo Core_Solo Core_2_Duo Core_i7 hinzu.
Schritt 3: Geben Sie dies in Zelle B2 ein ::

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

Schritt 4: Klicken und ziehen, um den Rest der
getesteten Zellen zu übernehmen !!!

Kamalam
quelle
1
Leider wollte Kamalam, das Originalposter, dies für Dateien tun, die lokal auf dem Laufwerk C: gehostet werden. Wenn Sie dies erneut versuchen, file://C:/funktioniert dies nicht. Es ist eine Schande, denn es wäre viel einfacher, wenn das funktionieren würde!
Andi Mohr
Auch das funktioniert nicht einmal im Web
Gerrat
-1

Wenn ich Ihre Frage gut verstehe, gibt es hier eine Problemumgehung. Source = Here WORKAROUND Verwenden Sie eine der folgenden Methoden, um dieses Problem zu umgehen. Methode 1

Benennen Sie die Datei mit einem Namen um, der das Nummernzeichen nicht enthält, und bearbeiten oder erstellen Sie den Hyperlink erneut.

Weitere Informationen zum Umbenennen einer Datei in Windows finden Sie in der gedruckten Windows-Dokumentation oder in der Online-Hilfe.

Gehen Sie folgendermaßen vor, um den Hyperlink zu bearbeiten:

Für Office 2003 und frühere Versionen von Office: Klicken Sie mit der rechten Maustaste auf die Zelle, die den Problem-Hyperlink enthält. Zeigen Sie im angezeigten Kontextmenü auf Hyperlink und klicken Sie auf Hyperlink bearbeiten. Geben Sie im Feld Typ der Datei oder des Webseitennamens den Namen der Datei ein, mit der Sie verknüpfen. Wenn Sie den Namen der Datei nicht kennen, klicken Sie auf Datei und navigieren Sie zur Datei. OK klicken.

Für Office 2007- und Office 2010-Programme: Klicken Sie mit der rechten Maustaste auf die Zelle, die den Problem-Hyperlink enthält, und zeigen Sie dann auf Hyperlink bearbeiten. Geben Sie im Feld Adresse den Namen der Datei ein, mit der Sie verknüpfen. Wenn Sie den Namen der Datei nicht kennen, verwenden Sie die Suchwerkzeuge in der Zeile Suchen in ..., um die Datei zu suchen. Wählen Sie die Datei aus und klicken Sie auf OK. Methode 2

Verwenden Sie den Befehl Als Hyperlink einfügen:

Für Office 2003 und frühere Versionen: Öffnen Sie das Dokument, zu dem Sie eine Verknüpfung herstellen möchten (das das # -Zeichen im Namen enthält). Kopieren Sie die Zelle, zu der Sie eine Verknüpfung herstellen möchten. Klicken Sie in Ihrem Dokument im Menü Bearbeiten auf Als Hyperlink einfügen.

Für Office 2007- und Office 2010-Programme: Öffnen Sie das Dokument, zu dem Sie eine Verknüpfung herstellen möchten. Dies ist das Dokument, das das # -Zeichen im Namen enthält. Kopieren Sie die Zelle, zu der Sie eine Verknüpfung herstellen möchten. Klicken Sie in Ihrem Dokument auf die Zelle, in der der Hyperlink angezeigt werden soll. Klicken Sie auf der Registerkarte Start in der Gruppe Zwischenablage auf den Pfeil unter Einfügen, und klicken Sie dann auf Als Hyperlink einfügen

Wenn Sie VBA-Code verwenden, kann diese Zeile hilfreich sein. Ich habe sie getestet. Sie funktioniert sowohl in Chrome als auch in Firefox
ActiveSheet.Hyperlinks.Add Anchor: = Auswahl, Adresse: = "C: \ Pfad \ zu \ Ihrer \ Datei.htm" , SubAddress: = "nameOfYourAnchor", TextToDisplay: = "anzuzeigender Text")

Hier nameOfYourAnchor ohne # Sym. Wenn Ihr Link beispielsweise C: / Users / [User] / Desktop / Intel Core - Wikipedia lautet, lautet die freie Enzyklopädie.htm # Core_i3 ( ActiveSheet.Hyperlinks.Add Anchor: = Auswahl, Adresse: = "C: / Benutzer / Benutzer / Desktop / Intel Core - Wikipedia, die freie Enzyklopädie.htm", Unteradresse: = "Core_i3", TextToDisplay: = "anzuzeigender Text" ) Ich
hoffe, dies hat geholfen.

Kamalam
quelle
Das Problem ist, dass die Datei kein Nummernzeichen im Namen enthält. Ich benutze das
Nummernzeichen
2
Schauen Sie sich die letzten beiden Absätze an.
Kamalam
@kamalam, an der Oberfläche ist dies eine sehr saubere Lösung. Allerdings kann ich diesen Code nicht zum Laufen bringen? Können Sie bitte das vollständige Sub posten, das für Sie funktioniert?
Andi Mohr
-1

Das Folgende funktioniert im Allgemeinen unter Windows 7 mit Excel 2007. Die Datei wird mit der Tabelle zusammengestellt. Der Zellinhalt:

= HYPERLINK ("dump_faults_current_leg_bite.htm # BiteRec_000", "BITE record 1/35")

Es gibt hier einige Desktop-PCs, die Probleme mit diesem Link haben. Es wird jedoch der Fehler "Angegebene Datei kann nicht geöffnet werden" angezeigt.

Werkzeugmann
quelle