• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelでのHyperlink)

ExcelでのHyperlinkの制限について

このQ&Aのポイント
  • Excel2010で、PCのHDに存在するファイルのリストを作成し、Hyperlinkを埋め込むことでファイルを見ることができますが、65531個までしかHyperlinkを埋め込むことができません。
  • 先頭の10個のHyperlinkを削除すると、65532番目の行から10個のHyperlinkを追加することが可能です。
  • Excelの制限により、65531個以上のHyperlinkを追加することはできませんが、可能であれば制限を解除または変更する方法を探しています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

仕様ですので、それ以上のリンクは設定できません。 その代わり―― ハイパーリンクをあらかじめ設定しないで、シートモジュールに次のように記述されたらいかがでしょうか。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim FL As Variant If Target.Column <> 1 Or Target.Value = "" Then Exit Sub Hyperlinks.Add Anchor:=Target, Address:=Target.Offset(0, 1).Value _ & "\" & Target.Value, TextToDisplay:=Target.Value Hyperlinks(1).Follow DoEvents Target.Hyperlinks.Delete End Sub A列の空白でないセルが選択されたら、一時的にハイパーリンクを設定してジャンプし、直後にリンクを解除します。

atom_28
質問者

お礼

ありがとうございます。 セルをクリックすることで、HyperLinkを設定し、 そのファイルを開き、直後にHyperLinkを削除するというアイデア。 合理的です。感謝です。 尚、Excelの仕様、改めて、理解しました。 仕様は仕様と諦め、今回サジェスチョンしてくださったアイデアで、対応します。 ありがとうございました。

その他の回答 (4)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.5

出来ないならあんまり回答を重ねても意味ないんじゃないかとも思いますが >うまく動作しない 再掲: >A列にはファイル名を記入する >B列にはパスを「c:\test\」のように,最後の¥まで忘れず記入する A列に「ファイル名.拡張子」と正しいファイル名が記入できていない B列に「c:\test\」のように,最後の¥まで忘れず記入するとご説明した通りにデータを準備できていない など、データの準備が悪い状況が想定されます また、 再掲: >すべてのハイパーリンクを抹消し >シート名タブを右クリック,コードの表示を選び >現れたシートに下記をコピー貼り付ける と手順の説明の通りに行ってなくて、どこかわかりませんが勝手に違う事をしている状況が想定されます もう一度回答の通りによく読んで丁寧に行ってください。 あぁ、あとは他の回答で寄せられているマクロとバッティングしてるのかもしれませんね 過去のマクロは漏れなくしっかり全部消去して、まっさらの状態で行います。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

>cells(i,1).value ----- file名 >cells(i,2).value ----- path名 では,すべてのハイパーリンクを抹消し シート名タブを右クリック,コードの表示を選び 現れたシートに下記をコピー貼り付ける private sub Worksheet_BeforeDoubleClick(byval Target as excel.range, Cancel as boolean) if target.column > 1 then exit sub if target = "" then exit sub cancel = true activeworkbook.followhyperlink target.offset(0, 1) & target end sub A列にはファイル名を記入する B列にはパスを「c:\test\」のように,最後の¥まで忘れず記入する(忘れてるときはマクロで手当する) A列をWクリックする。

atom_28
質問者

補足

ありがとうございます。 followhyperlink、調べたのですが、いまいち、使い方がわかりません。 というのは、何故か、うまく動作しないのです。 Excel(2010)のヘルプは使えないし、少し困っています。 ご教示願えると、ありがたいです。

回答No.3

#2 misatoanna からの補足です。 リストのファイルがすべてExcelブックでしたら、「ハーパーリンクを一時的に作成し、のちに解除する」といった手順を踏まなくても、 シートモジュール(SelectionChange)に  Workbooks.Open Filename:=Cells(i, 2).Value & "\" & Cells(i, 1).Value と記述するだけでよいでしょう。

atom_28
質問者

お礼

ありがとうございます。 しかしながら、サーバーのファイルは、Excel以外のファイルも多数ありますので、 先にサジェスチョンしてくださった方法が、現実的かと思います。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

参考: http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HP010342495.aspx 資料にあるとおりシート当たりの制限となっているので、所定の数(65530)を超えそうならシートを改めてください。 シート2に移れば、また次の65530件ハイパーリンクを埋める事ができます。 >それならそれで、解除、或は、変更することができるのではないかと考えます。 はて? どうして仕様または制限を設定変更や解除できると思われたのかちょっと判りませんが、出来ないものはできませんよ。 まぁ将来的にエクセルのバージョンアップ等で、仕様に変更等があるかも?しれませんが。

atom_28
質問者

お礼

ありがとうございます。 今回の目標が、サーバーのファイルの整理ですので、膨大なファイルを並べ替え、 その上で、必要に応じてファイルを覗くことをしたいのです。 従って、シートを変えることでは、多分、目標は、達成できません。 Accessを使った方が、ベターなのかもしれません。 しかし、サジェスチョン、ありがとうございました。