Bagaimana saya bisa membuat hyperlink ke bagian spesifik file HTML dalam Excel?

8

Saya memiliki file HTML yang menyertakan jangkar di dalamnya. Saya dapat membuka bagian tertentu melalui browser jika saya menentukan nama jangkar, jadi ketika saya menulis
file://<html_path>/<html_file>.html#<anchor_name>
di kotak alamat browser saya, file tersebut terbuka dan menggulir ke bagian yang benar.

Jika saya menempatkan tautan yang sama ke dalam HYPERLINKfungsi di Excel, tautan itu hanya membuka halaman web, memotong #bagian, dan tidak menggulir ke bagian yang ditentukan. Jika saya menempatkan tautan ke halaman web dengan bagian jangkar di HYPERLINKfungsi, sepertinya berfungsi dengan benar, sehingga http://tautan dengan #tidak akan dipangkas dan masih berfungsi.

Pencarian Google mengembalikan posting forum ini dan beberapa artikel KB yang menyatakan hash tidak dapat digunakan dalam nama file di dalam kantor meskipun itu adalah karakter nama file yang valid. Halaman yang sama menyatakan ini diselesaikan di Excel 2010 tapi saya menggunakan versi 2010 dan tampaknya masih menjadi masalah.

Apakah ada solusi untuk ini? Saya bermaksud untuk menautkan setiap baris ke bagian berbeda di file target, dan ada 1000+ baris, jadi opsi untuk memecah file html asli menjadi beberapa atau menghasilkan URL terpisah untuk setiap bagian dan menautkan ke sebaliknya akan membuat kekacauan dari file.

JohnoBoy
sumber
Saya tidak dapat membuat ini sebagai jawaban karena saya tidak dapat menguji sekarang tetapi Anda telah diuji menggunakan pengkodean menggunakan '% 23' alih-alih '#'
HTDutchy
Saya baru saja memeriksa ini, sepertinya tidak berhasil. Excel memunculkan pesan kesalahan "Tidak dapat membuka file yang ditentukan"
JohnoBoy
@terdon 'Pound sign / key' adalah nama yang valid untuk #karakter, lihat artikel WikiPedia , juga perhatikan posting forum dan artikel KB yang terhubung dengannya menggunakan nama yang sama
JohnoBoy
@JohnoBoy, begitulah. Saya berdiri dikoreksi, maaf. Jangan ragu untuk memutar kembali edit saya.
terdon

Jawaban:

2

Coba ini. Untuk setiap baris, Anda membutuhkan dua kolom. Yang pertama akan berisi nama bookmark Anda untuk setiap baris. Yang kedua akan berisi hyperlink, menunjuk ke dirinya sendiri.

Untuk menyisipkan hyperlink referensi-sendiri untuk banyak baris, jalankan makro seperti ini:

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

Sekarang Anda memerlukan sub untuk membuka browser ke lokasi yang benar. Edit ini agar jalur file dan browser benar:

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

Akhirnya Anda harus menambahkan acara Worksheet_FollowHyperlink untuk lembar yang berisi daftar Anda:

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

Semoga itu bisa dilakukan!

Andi Mohr
sumber
Saya akan melihat ini dan melaporkan kembali, terima kasih
JohnoBoy
@JohnoBoy - apakah ini berhasil untuk Anda?
Johnny Utahh
Ini sudah lama sekali, saya percaya saya menyerah pada hyperlink sama sekali.
JohnoBoy
0

Berikut adalah solusi lain untuk Anda, jika Anda tidak ingin menggunakan pengkodean VBA Anda masih dapat menggunakan fungsi Excel "hyperlink". Berikut ini adalah panduan langkah demi langkah untuk melakukannya.

file online: Langkah 1: katakanlah nama file Anda adalah: http://en.wikipedia.org/wiki/Intel_Core Langkah 2: sekarang tambahkan nama jangkar Anda di A1: A4
Core_Duo
Core_Solo
Core_2_Duo
Core_i7
Langkah 3: di sel B2 masukkan ini :

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

Langkah 4: klik & seret untuk melamar sel lainnya yang
Diuji berfungsi !!!

kamalam
sumber
1
Sayangnya kamalam, poster asli mencari untuk melakukan ini untuk file yang di-host secara lokal di drive C :. Jika Anda mencoba ini lagi menggunakan file://C:/ini tidak berhasil. Ini memalukan karena akan jauh lebih mudah jika itu berhasil!
Andi Mohr
Juga, ini bahkan tidak berfungsi di web
Gerrat
-1

Jika saya memahami pertanyaan Anda dengan baik di sini adalah pekerjaan diseluruh Sumber = Di sini WORKAROUND Untuk mengatasi masalah ini, gunakan salah satu metode berikut. Metode 1

Ganti nama file dengan nama yang tidak termasuk tanda pon, lalu edit atau buat ulang tautannya.

Untuk informasi lebih lanjut tentang cara mengganti nama file di Windows, lihat dokumentasi cetak Windows Anda atau Bantuan online.

Untuk mengedit hyperlink, ikuti langkah-langkah ini:

Untuk Office 2003 dan versi Office yang lebih lama: Klik kanan sel yang berisi hyperlink masalah. Pada menu pintasan yang muncul, arahkan ke Hyperlink, dan klik Edit Hyperlink. Di kotak Ketikkan file atau nama halaman Web, ketikkan nama file yang Anda tautkan. Jika Anda tidak tahu nama file, klik File dan browse ke file. Klik OK.

Untuk program Office 2007 dan Office 2010: Klik kanan sel yang berisi hyperlink masalah, lalu arahkan ke Edit Hyperlink. Di kotak Alamat, ketikkan nama file yang Anda tautkan. Jika Anda tidak tahu nama file, gunakan alat pencarian di baris Lihat ... untuk menemukan file. Pilih file, dan kemudian klik OK. Metode 2

Gunakan perintah Tempel sebagai Hyperlink:

Untuk Office 2003 dan versi yang lebih lama: Buka dokumen yang ingin Anda tautkan (yang berisi tanda # masuk nama). Salin sel yang ingin Anda tautkan. Di dokumen Anda, pada menu Edit, klik Tempel sebagai Hyperlink.

Untuk program Office 2007 dan Office 2010: Buka dokumen yang ingin Anda tautkan. Ini adalah dokumen yang berisi tanda # pada nama. Salin sel yang ingin Anda tautkan. Di dokumen Anda, klik sel tempat Anda ingin hyperlink muncul. Pada tab Beranda, klik panah di bawah Tempel di grup Papan klip, lalu klik Tempel sebagai Hyperlink

jika Anda menggunakan kode VBA, baris ini mungkin bisa membantu saya mengujinya. Ini berfungsi baik di ActiveSheet.Hyperlink chrome dan firefox.
Anchor Anchor: = Pilihan, Alamat: = "C: \ path \ to \ your \ file.htm" , SubAddress: = "nameOfYourAnchor", TextToDisplay: = "teks yang akan ditampilkan")

di sini nameOfYourAnchor tanpa tanda # Sym misalnya jika tautan Anda adalah C: / Pengguna / [Pengguna] / Desktop / Intel Core - Wikipedia, ensiklopedia gratis.htm # Core_i3 kode Anda akan menjadi ( ActiveSheet.Hyperlinks.Add Anchor: = Pilihan, Alamat: = "C: / Pengguna / Pengguna / Desktop / Intel Core - Wikipedia, ensiklopedia gratis.htm", SubAddress: = "Core_i3", TextToDisplay: = "teks untuk ditampilkan" )
harap ini membantu.

kamalam
sumber
Masalahnya adalah, file tersebut tidak menyertakan tanda pound dalam namanya. Saya menggunakan tanda pound untuk menghubungkan ke bagian tertentu dalam file
JohnoBoy
2
lihat dua paragraf terakhir.
kamalam
@kamalam, di permukaan ini adalah solusi yang sangat rapi. Namun saya tidak dapat membuat kode ini berfungsi? Bisakah Anda memposting sub lengkap yang berfungsi untuk Anda?
Andi Mohr
-1

Berikut ini biasanya berfungsi pada Windows 7 dengan Excel 2007. File ini dikumpulkan dengan spreadsheet. Isi sel:

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

Ada beberapa PC desktop di sini yang mengalami masalah dengan tautan ini, namun, mendapatkan kesalahan "Tidak dapat membuka file yang ditentukan".

Toolman
sumber